mirror of
https://github.com/SpacehuhnTech/esp8266_deauther.git
synced 2025-12-22 23:26:49 -08:00
142 lines
4.2 KiB
C++
142 lines
4.2 KiB
C++
#include "Settings.h"
|
|
|
|
Settings::Settings(){
|
|
|
|
}
|
|
|
|
void Settings::load(){
|
|
ssidLen = EEPROM.read(ssidLenAdr);
|
|
passwordLen = EEPROM.read(passwordLenAdr);
|
|
|
|
if(ssidLen < 1 || ssidLen > 32 || passwordLen < 8 || passwordLen > 32) reset();
|
|
else{
|
|
ssid = "";
|
|
password = "";
|
|
for(int i=0;i<ssidLen;i++) ssid += (char)EEPROM.read(ssidAdr+i);
|
|
for(int i=0;i<passwordLen;i++) password += (char)EEPROM.read(passwordAdr+i);
|
|
|
|
ssidHidden = (bool)EEPROM.read(ssidHiddenAdr);
|
|
|
|
if((int)EEPROM.read(apChannelAdr) >= 1 && (int)EEPROM.read(apChannelAdr) <= 11){
|
|
apChannel = (int)EEPROM.read(apChannelAdr);
|
|
} else {
|
|
apChannel = 1;
|
|
}
|
|
|
|
apScanHidden = (bool)EEPROM.read(apScanHiddenAdr);
|
|
|
|
deauthReason = EEPROM.read(deauthReasonAdr);
|
|
attackTimeout = eepromReadInt(attackTimeoutAdr);
|
|
attackPacketRate = EEPROM.read(attackPacketRateAdr);
|
|
clientScanTime = EEPROM.read(clientScanTimeAdr);
|
|
attackEncrypted = (bool)EEPROM.read(attackEncryptedAdr);
|
|
useLed = (bool)EEPROM.read(useLedAdr);
|
|
}
|
|
}
|
|
|
|
void Settings::reset(){
|
|
if(debug) Serial.print("reset settings...");
|
|
|
|
ssid = "pwned";
|
|
password = "deauther"; //must have at least 8 characters
|
|
ssidHidden = false;
|
|
apChannel = 1;
|
|
|
|
ssidLen = ssid.length();
|
|
passwordLen = password.length();
|
|
|
|
apScanHidden = true;
|
|
|
|
deauthReason = 0x01;
|
|
attackTimeout = 5*60;
|
|
attackPacketRate = 10;
|
|
clientScanTime = 15;
|
|
attackEncrypted = false;
|
|
useLed = false;
|
|
|
|
if(debug) Serial.println("done");
|
|
|
|
save();
|
|
}
|
|
|
|
void Settings::save(){
|
|
ssidLen = ssid.length();
|
|
passwordLen = password.length();
|
|
|
|
EEPROM.write(ssidLenAdr, ssidLen);
|
|
EEPROM.write(passwordLenAdr, passwordLen);
|
|
for(int i=0;i<ssidLen;i++) EEPROM.write(ssidAdr+i,ssid[i]);
|
|
for(int i=0;i<passwordLen;i++) EEPROM.write(passwordAdr+i,password[i]);
|
|
|
|
EEPROM.write(ssidHiddenAdr, ssidHidden);
|
|
EEPROM.write(apChannelAdr, apChannel);
|
|
|
|
EEPROM.write(apScanHiddenAdr, apScanHidden);
|
|
|
|
EEPROM.write(deauthReasonAdr, deauthReason);
|
|
|
|
eepromWriteInt(attackTimeoutAdr, attackTimeout);
|
|
|
|
EEPROM.write(attackPacketRateAdr, attackPacketRate);
|
|
EEPROM.write(clientScanTimeAdr, clientScanTime);
|
|
EEPROM.write(attackEncryptedAdr, attackEncrypted);
|
|
EEPROM.write(useLedAdr, useLed);
|
|
EEPROM.commit();
|
|
|
|
if(debug){
|
|
info();
|
|
Serial.println("settings saved");
|
|
}
|
|
}
|
|
|
|
void Settings::info(){
|
|
Serial.println("settings:");
|
|
Serial.println("SSID: "+ssid);
|
|
Serial.println("SSID length: "+(String)ssidLen);
|
|
Serial.println("SSID hidden: "+(String)ssidHidden);
|
|
Serial.println("password: "+password);
|
|
Serial.println("password length: "+(String)passwordLen);
|
|
Serial.println("channel: "+(String)apChannel);
|
|
Serial.println("Scan hidden APs: "+(String)apScanHidden);
|
|
Serial.println("deauth reson: "+(String)(int)deauthReason);
|
|
Serial.println("attack timeout: "+(String)attackTimeout);
|
|
Serial.println("attack packet rate: "+(String)attackPacketRate);
|
|
Serial.println("client scan time: "+(String)clientScanTime);
|
|
Serial.println("attack SSID encrypted: "+(String)attackEncrypted);
|
|
Serial.println("use built-in LED: "+(String)useLed);
|
|
}
|
|
|
|
String Settings::get(){
|
|
if(debug) Serial.println("getting settings json");
|
|
String json = "{";
|
|
|
|
json += "\"ssid\":\""+ssid+"\",";
|
|
json += "\"ssidHidden\":"+(String)ssidHidden+",";
|
|
json += "\"password\":\""+password+"\",";
|
|
json += "\"apChannel\":"+(String)apChannel+",";
|
|
json += "\"apScanHidden\":"+(String)apScanHidden+",";
|
|
json += "\"deauthReason\":"+(String)(int)deauthReason+",";
|
|
json += "\"attackTimeout\":"+(String)attackTimeout+",";
|
|
json += "\"attackPacketRate\":"+(String)attackPacketRate+",";
|
|
json += "\"clientScanTime\":"+(String)clientScanTime+",";
|
|
json += "\"attackEncrypted\":"+(String)attackEncrypted+",";
|
|
json += "\"useLed\":"+(String)useLed+",";
|
|
|
|
json += "\"nameList\":[";
|
|
for(int i=0;i<nameList.len;i++){
|
|
json += "{";
|
|
json += "\"n\":\""+nameList.getName(i)+"\",";
|
|
json += "\"m\":\""+nameList.getMac(i).toString()+"\",";
|
|
json += "\"v\":\""+data_getVendor(nameList.getMac(i)._get(0), nameList.getMac(i)._get(1), nameList.getMac(i)._get(2))+"\"";
|
|
json += "}";
|
|
if(i!=nameList.len-1) json += ",";
|
|
}
|
|
|
|
json += "] }";
|
|
if(debug){
|
|
Serial.println(json);
|
|
Serial.println("done");
|
|
}
|
|
return json;
|
|
}
|