Using built-in LED when an attack is running. (+ options)

This commit is contained in:
N0vaPixel
2017-03-05 02:24:14 +01:00
parent 8c33c191ee
commit 58964ed989
5 changed files with 38 additions and 8 deletions

View File

@@ -231,11 +231,14 @@ void Attack::run(){
}
void Attack::start(int num){
Serial.println(num);
if(!isRunning[num]){
Serial.println(num);
isRunning[num] = true;
stati[num] = "starting";
prevTime[num] = millis();
attackTimeoutCounter[num] = 0;
refreshLed();
if(debug) Serial.println("starting "+(String)attackNames[num]+" attack");
if(num == 1 && isRunning[2]) stop(2);
else if(num == 2 && isRunning[1]) stop(1);
@@ -248,6 +251,7 @@ void Attack::stop(int num){
isRunning[num] = false;
stati[num] = "ready";
prevTime[num] = millis();
refreshLed();
}
}
@@ -311,3 +315,20 @@ String Attack::getResults(){
}
return json;
}
void Attack::refreshLed(){
int numberRunning = 0;
for(int i=0; i<sizeof(isRunning); i++){
if(isRunning[i]) numberRunning++;
if(debug) Serial.println(numberRunning);
}
if(numberRunning>=1 && settings.useLed){
if(debug) Serial.println("Attack LED : ON");
digitalWrite(BUILTIN_LED, LOW);
}
else if(numberRunning==0 || !settings.useLed){
if(debug) Serial.println("Attack LED : OFF");
digitalWrite(BUILTIN_LED, HIGH);
}
}

View File

@@ -38,6 +38,7 @@ class Attack
void stop(int num);
void stopAll();
String getResults();
void refreshLed();
private:
void buildDeauth(Mac _ap, Mac _client, uint8_t type, uint8_t reason);
@@ -109,6 +110,7 @@ class Attack
int macListChangeCounter = 0;
int attackTimeoutCounter[attacksNum];
int channels[macListLen];
bool buildInLedStatus = false;
};
#endif

View File

@@ -20,7 +20,7 @@ void Settings::load(){
if((int)EEPROM.read(apChannelAdr) >= 1 && (int)EEPROM.read(apChannelAdr) <= 11){
apChannel = (int)EEPROM.read(apChannelAdr);
} else {
reset();
apChannel = 1;
}
apScanHidden = (bool)EEPROM.read(apScanHiddenAdr);
@@ -30,6 +30,7 @@ void Settings::load(){
attackPacketRate = EEPROM.read(attackPacketRateAdr);
clientScanTime = EEPROM.read(clientScanTimeAdr);
attackEncrypted = (bool)EEPROM.read(attackEncryptedAdr);
useLed = (bool)EEPROM.read(useLedAdr);
}
}
@@ -51,6 +52,7 @@ void Settings::reset(){
attackPacketRate = 10;
clientScanTime = 15;
attackEncrypted = false;
useLed = false;
if(debug) Serial.println("done");
@@ -78,6 +80,7 @@ void Settings::save(){
EEPROM.write(attackPacketRateAdr, attackPacketRate);
EEPROM.write(clientScanTimeAdr, clientScanTime);
EEPROM.write(attackEncryptedAdr, attackEncrypted);
EEPROM.write(useLedAdr, useLed);
EEPROM.commit();
if(debug){
@@ -100,6 +103,7 @@ void Settings::info(){
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)attackEncrypted);
}
String Settings::get(){
@@ -116,6 +120,7 @@ String Settings::get(){
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++){

View File

@@ -24,6 +24,7 @@ extern NameList nameList;
#define ssidHiddenAdr 1096
#define apScanHiddenAdr 1097
#define apChannelAdr 1098
#define useLedAdr 1099
class Settings
{
@@ -50,6 +51,7 @@ class Settings
int clientScanTime;
bool attackEncrypted;
bool useLed;
private:
};

File diff suppressed because one or more lines are too long