|
|
@@ -162,6 +162,18 @@ void WiFiScan::StartScan(uint8_t scan_mode, uint16_t color)
|
|
|
WiFiScan::currentScanMode = scan_mode;
|
|
|
}
|
|
|
|
|
|
+void WiFiScan::shutdownWiFi() {
|
|
|
+ Serial.println("Ahhh yes...promiscuity will end");
|
|
|
+ esp_wifi_set_promiscuous(false);
|
|
|
+ //WiFi.persistent(false);
|
|
|
+ WiFi.disconnect(true);
|
|
|
+ WiFi.mode(WIFI_OFF);
|
|
|
+
|
|
|
+ esp_wifi_set_mode(WIFI_MODE_NULL);
|
|
|
+ esp_wifi_stop();
|
|
|
+ esp_wifi_deinit();
|
|
|
+}
|
|
|
+
|
|
|
// Function to stop all wifi scans
|
|
|
void WiFiScan::StopScan(uint8_t scan_mode)
|
|
|
{
|
|
|
@@ -176,13 +188,7 @@ void WiFiScan::StopScan(uint8_t scan_mode)
|
|
|
(currentScanMode == WIFI_ATTACK_RICK_ROLL) ||
|
|
|
(currentScanMode == WIFI_PACKET_MONITOR))
|
|
|
{
|
|
|
- Serial.println("Ahhh yes...promiscuity will end");
|
|
|
- esp_wifi_set_promiscuous(false);
|
|
|
- WiFi.mode(WIFI_OFF);
|
|
|
-
|
|
|
- esp_wifi_set_mode(WIFI_MODE_NULL);
|
|
|
- esp_wifi_stop();
|
|
|
- esp_wifi_deinit();
|
|
|
+ this->shutdownWiFi();
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -220,7 +226,7 @@ String WiFiScan::getStaMAC()
|
|
|
char *buf;
|
|
|
uint8_t mac[6];
|
|
|
char macAddrChr[18] = {0};
|
|
|
- wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
|
|
|
+ //wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
|
|
|
esp_wifi_init(&cfg);
|
|
|
esp_wifi_set_storage(WIFI_STORAGE_RAM);
|
|
|
esp_wifi_set_mode(WIFI_MODE_NULL);
|
|
|
@@ -234,6 +240,7 @@ String WiFiScan::getStaMAC()
|
|
|
mac[3],
|
|
|
mac[4],
|
|
|
mac[5]);
|
|
|
+ this->shutdownWiFi();
|
|
|
return String(macAddrChr);
|
|
|
}
|
|
|
|
|
|
@@ -242,7 +249,7 @@ String WiFiScan::getApMAC()
|
|
|
char *buf;
|
|
|
uint8_t mac[6];
|
|
|
char macAddrChr[18] = {0};
|
|
|
- wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
|
|
|
+ //wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
|
|
|
esp_wifi_init(&cfg);
|
|
|
esp_wifi_set_storage(WIFI_STORAGE_RAM);
|
|
|
esp_wifi_set_mode(WIFI_MODE_NULL);
|
|
|
@@ -256,6 +263,7 @@ String WiFiScan::getApMAC()
|
|
|
mac[3],
|
|
|
mac[4],
|
|
|
mac[5]);
|
|
|
+ this->shutdownWiFi();
|
|
|
return String(macAddrChr);
|
|
|
}
|
|
|
|
|
|
@@ -293,8 +301,8 @@ void WiFiScan::RunLvJoinWiFi(uint8_t scan_mode, uint16_t color) {
|
|
|
|
|
|
void WiFiScan::RunInfo()
|
|
|
{
|
|
|
- //String sta_mac = this->getStaMAC();
|
|
|
- //String ap_mac = this->getApMAC();
|
|
|
+ String sta_mac = this->getStaMAC();
|
|
|
+ String ap_mac = this->getApMAC();
|
|
|
String free_ram = this->freeRAM();
|
|
|
|
|
|
//Serial.print("STA MAC: ");
|
|
|
@@ -308,11 +316,10 @@ void WiFiScan::RunInfo()
|
|
|
display_obj.tft.setCursor(0, 100);
|
|
|
display_obj.tft.setTextSize(1);
|
|
|
display_obj.tft.setTextColor(TFT_CYAN);
|
|
|
-
|
|
|
- //display_obj.tft.println(" Station MAC: " + sta_mac);
|
|
|
- //display_obj.tft.println(" AP MAC: " + ap_mac);
|
|
|
display_obj.tft.println(" Firmware: Marauder");
|
|
|
display_obj.tft.println(" Version: " + display_obj.version_number + "\n");
|
|
|
+ display_obj.tft.println(" Station MAC: " + sta_mac);
|
|
|
+ display_obj.tft.println(" AP MAC: " + ap_mac);
|
|
|
display_obj.tft.println(" " + free_ram);
|
|
|
|
|
|
if (sd_obj.supported) {
|
|
|
@@ -353,7 +360,7 @@ void WiFiScan::RunEspressifScan(uint8_t scan_mode, uint16_t color) {
|
|
|
display_obj.touchToExit();
|
|
|
display_obj.tft.setTextColor(TFT_GREEN, TFT_BLACK);
|
|
|
display_obj.setupScrollArea(display_obj.TOP_FIXED_AREA_2, BOT_FIXED_AREA);
|
|
|
- wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
|
|
|
+ //wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
|
|
|
esp_wifi_init(&cfg);
|
|
|
esp_wifi_set_storage(WIFI_STORAGE_RAM);
|
|
|
esp_wifi_set_mode(WIFI_MODE_NULL);
|
|
|
@@ -398,7 +405,7 @@ void WiFiScan::RunPacketMonitor(uint8_t scan_mode, uint16_t color)
|
|
|
display_obj.tftDrawExitScaleButtons();
|
|
|
|
|
|
Serial.println("Running packet scan...");
|
|
|
- wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
|
|
|
+ //wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
|
|
|
esp_wifi_init(&cfg);
|
|
|
esp_wifi_set_storage(WIFI_STORAGE_RAM);
|
|
|
esp_wifi_set_mode(WIFI_MODE_NULL);
|
|
|
@@ -501,7 +508,11 @@ void WiFiScan::RunBeaconSpam(uint8_t scan_mode, uint16_t color)
|
|
|
display_obj.tft.setTextColor(TFT_GREEN, TFT_BLACK);
|
|
|
packets_sent = 0;
|
|
|
//esp_wifi_set_mode(WIFI_MODE_STA);
|
|
|
- WiFi.mode(WIFI_AP_STA);
|
|
|
+ //WiFi.mode(WIFI_AP_STA);
|
|
|
+ esp_wifi_init(&cfg);
|
|
|
+ esp_wifi_set_storage(WIFI_STORAGE_RAM);
|
|
|
+ //WiFi.mode(WIFI_AP_STA);
|
|
|
+ esp_wifi_set_mode(WIFI_AP_STA);
|
|
|
esp_wifi_start();
|
|
|
esp_wifi_set_promiscuous_filter(NULL);
|
|
|
esp_wifi_set_promiscuous(true);
|
|
|
@@ -528,7 +539,7 @@ void WiFiScan::RunPwnScan(uint8_t scan_mode, uint16_t color)
|
|
|
display_obj.touchToExit();
|
|
|
display_obj.tft.setTextColor(TFT_GREEN, TFT_BLACK);
|
|
|
display_obj.setupScrollArea(display_obj.TOP_FIXED_AREA_2, BOT_FIXED_AREA);
|
|
|
- wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
|
|
|
+ //wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
|
|
|
esp_wifi_init(&cfg);
|
|
|
esp_wifi_set_storage(WIFI_STORAGE_RAM);
|
|
|
esp_wifi_set_mode(WIFI_MODE_NULL);
|
|
|
@@ -558,7 +569,7 @@ void WiFiScan::RunBeaconScan(uint8_t scan_mode, uint16_t color)
|
|
|
display_obj.touchToExit();
|
|
|
display_obj.tft.setTextColor(TFT_GREEN, TFT_BLACK);
|
|
|
display_obj.setupScrollArea(display_obj.TOP_FIXED_AREA_2, BOT_FIXED_AREA);
|
|
|
- wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
|
|
|
+ //wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
|
|
|
esp_wifi_init(&cfg);
|
|
|
esp_wifi_set_storage(WIFI_STORAGE_RAM);
|
|
|
esp_wifi_set_mode(WIFI_MODE_NULL);
|
|
|
@@ -587,7 +598,7 @@ void WiFiScan::RunDeauthScan(uint8_t scan_mode, uint16_t color)
|
|
|
display_obj.touchToExit();
|
|
|
display_obj.tft.setTextColor(TFT_RED, TFT_BLACK);
|
|
|
display_obj.setupScrollArea(display_obj.TOP_FIXED_AREA_2, BOT_FIXED_AREA);
|
|
|
- wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
|
|
|
+ //wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
|
|
|
esp_wifi_init(&cfg);
|
|
|
esp_wifi_set_storage(WIFI_STORAGE_RAM);
|
|
|
esp_wifi_set_mode(WIFI_MODE_NULL);
|
|
|
@@ -618,7 +629,7 @@ void WiFiScan::RunProbeScan(uint8_t scan_mode, uint16_t color)
|
|
|
display_obj.touchToExit();
|
|
|
display_obj.tft.setTextColor(TFT_GREEN, TFT_BLACK);
|
|
|
display_obj.setupScrollArea(display_obj.TOP_FIXED_AREA_2, BOT_FIXED_AREA);
|
|
|
- wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
|
|
|
+ //wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
|
|
|
esp_wifi_init(&cfg);
|
|
|
esp_wifi_set_storage(WIFI_STORAGE_RAM);
|
|
|
esp_wifi_set_mode(WIFI_MODE_NULL);
|
|
|
@@ -831,7 +842,10 @@ void WiFiScan::pwnSnifferCallback(void* buf, wifi_promiscuous_pkt_type_t type)
|
|
|
{
|
|
|
Serial.print((char)snifferPacket->payload[i + 38]);
|
|
|
//display_string.concat((char)snifferPacket->payload[i + 38]);
|
|
|
- essid.concat((char)snifferPacket->payload[i + 38]);
|
|
|
+ if (isAscii(snifferPacket->payload[i + 38]))
|
|
|
+ essid.concat((char)snifferPacket->payload[i + 38]);
|
|
|
+ else
|
|
|
+ Serial.println("Got non-ascii character: " + (String)(char)snifferPacket->payload[i + 38]);
|
|
|
}
|
|
|
//essid.concat("\": \"\"}}");
|
|
|
//Serial.println("\n" + (String)(snifferPacket->payload[37]) + " -> " + essid);
|
|
|
@@ -841,6 +855,7 @@ void WiFiScan::pwnSnifferCallback(void* buf, wifi_promiscuous_pkt_type_t type)
|
|
|
JsonObject& json = jsonBuffer.parseObject(essid);
|
|
|
if (!json.success()) {
|
|
|
Serial.println("\nCould not parse Pwnagotchi json");
|
|
|
+ display_string.concat(essid);
|
|
|
}
|
|
|
else {
|
|
|
Serial.println("\nSuccessfully parsed json");
|