Just Call Me Koko 5 лет назад
Родитель
Сommit
0f4a94134e

+ 17 - 6
esp32_marauder/MenuFunctions.cpp

@@ -617,6 +617,7 @@ void MenuFunctions::RunSetup()
   wifiSnifferMenu.list = new LinkedList<MenuNode>();
   wifiScannerMenu.list = new LinkedList<MenuNode>();
   wifiAttackMenu.list = new LinkedList<MenuNode>();
+  //wifiGeneralMenu.list = new LinkedList<MenuNode>();
 
   // Bluetooth menu stuff
   bluetoothSnifferMenu.list = new LinkedList<MenuNode>();
@@ -636,6 +637,7 @@ void MenuFunctions::RunSetup()
   wifiSnifferMenu.name = " WiFi Sniffers ";
   wifiScannerMenu.name = " WiFi Scanners";
   wifiAttackMenu.name = " WiFi Attacks ";
+  //wifiGeneralMenu.name = " WiFi General ";
   bluetoothSnifferMenu.name = " Bluetooth Sniffers ";
   bluetoothScannerMenu.name = " Bluetooth Scanners ";
 
@@ -671,6 +673,9 @@ void MenuFunctions::RunSetup()
   addNodes(&wifiMenu, "Attacks", TFT_RED, NULL, ATTACKS, [this]() {
     changeMenu(&wifiAttackMenu);
   });
+  //addNodes(&wifiMenu, "General", TFT_PURPLE, NULL, GENERAL_APPS, [this]() {
+  //  changeMenu(&wifiGeneralMenu);
+  //});
 
   // Build WiFi sniffer Menu
   wifiSnifferMenu.parentMenu = &wifiMenu; // Main Menu is second menu parent
@@ -730,12 +735,18 @@ void MenuFunctions::RunSetup()
     this->drawStatusBar();
     wifi_scan_obj.StartScan(WIFI_ATTACK_RICK_ROLL, TFT_YELLOW);
   });
-  addNodes(&wifiAttackMenu, "Join WiFi", TFT_DARKCYAN, NULL, SNIFFERS, [this](){
-    display_obj.clearScreen(); 
-    wifi_scan_obj.currentScanMode = LV_JOIN_WIFI; 
-    wifi_scan_obj.StartScan(LV_JOIN_WIFI, TFT_YELLOW); 
-    joinWiFiGFX();
-  });
+
+  // Build WiFi General menu
+  //wifiGeneralMenu.parentMenu = &wifiMenu;
+  //addNodes(&wifiGeneralMenu, "Back", TFT_LIGHTGREY, NULL, 0, [this]() {
+  //  changeMenu(wifiGeneralMenu.parentMenu);
+  //});
+  //addNodes(&wifiGeneralMenu, "Join WiFi", TFT_DARKCYAN, NULL, SNIFFERS, [this](){
+  //  display_obj.clearScreen(); 
+  //  wifi_scan_obj.currentScanMode = LV_JOIN_WIFI; 
+  //  wifi_scan_obj.StartScan(LV_JOIN_WIFI, TFT_YELLOW); 
+  //  joinWiFiGFX();
+  //});
 
 
   // Build Bluetooth Menu

+ 1 - 0
esp32_marauder/MenuFunctions.h

@@ -127,6 +127,7 @@ class MenuFunctions
     Menu wifiSnifferMenu;
     Menu wifiScannerMenu;
     Menu wifiAttackMenu;
+    //Menu wifiGeneralMenu;
 
     // Bluetooth menu stuff
     Menu bluetoothSnifferMenu;

+ 48 - 23
esp32_marauder/WiFiScan.cpp

@@ -147,6 +147,7 @@ void WiFiScan::joinWiFi(String ssid, String password)
     lv_obj_set_width(mbox1, 200);
     //lv_obj_set_event_cb(mbox1, event_handler);
     lv_obj_align(mbox1, NULL, LV_ALIGN_CENTER, 0, 0); /*Align to the corner*/
+    this->wifi_initialized = true;
     return;
   }
   else if (WiFi.status() == WL_CONNECTED)
@@ -168,6 +169,7 @@ void WiFiScan::joinWiFi(String ssid, String password)
       lv_obj_set_width(mbox1, 200);
       //lv_obj_set_event_cb(mbox1, event_handler);
       lv_obj_align(mbox1, NULL, LV_ALIGN_CENTER, 0, 0); /*Align to the corner*/
+      WiFi.mode(WIFI_OFF);
       return;
     }
   }
@@ -184,6 +186,7 @@ void WiFiScan::joinWiFi(String ssid, String password)
   Serial.println("\nConnected to the WiFi network");
   Serial.print("IP address: ");
   Serial.println(WiFi.localIP());
+  this->wifi_initialized = true;
 }
 
 // Function to prepare to run a specific scan
@@ -221,33 +224,45 @@ void WiFiScan::StartScan(uint8_t scan_mode, uint16_t color)
 }
 
 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();
+  if (this->wifi_initialized) {
+    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();
+  
+    this->wifi_initialized = false;
+  }
+  else
+    Serial.println(F("WiFi is not currently running"));
 }
 
 void WiFiScan::shutdownBLE() {
-  Serial.println("Stopping BLE scan...");
-  pBLEScan->stop();
-  Serial.println("BLE Scan Stopped");
-  
+  if (this->ble_initialized) {
+    Serial.println("Stopping BLE scan...");
+    pBLEScan->stop();
+    Serial.println("BLE Scan Stopped");
+    
+    
+    Serial.println("Clearing BLE Results...");
+    pBLEScan->clearResults();
+    Serial.println("Deinitializing BT Controller...");
+    BLEDevice::deinit();
+    //Serial.println("Disable and Deinit BLE...");
+    //esp_bt_controller_disable();
+    //esp_bt_controller_deinit();
+    //Serial.println("Releasing BLE Memory...");
+    //esp_bt_controller_mem_release(ESP_BT_MODE_BLE);
+    //Serial.println("BT Controller Status: " + (String)esp_bt_controller_get_status());
   
-  Serial.println("Clearing BLE Results...");
-  pBLEScan->clearResults();
-  Serial.println("Deinitializing BT Controller...");
-  BLEDevice::deinit();
-  //Serial.println("Disable and Deinit BLE...");
-  //esp_bt_controller_disable();
-  //esp_bt_controller_deinit();
-  //Serial.println("Releasing BLE Memory...");
-  //esp_bt_controller_mem_release(ESP_BT_MODE_BLE);
-  //Serial.println("BT Controller Status: " + (String)esp_bt_controller_get_status());
+    this->ble_initialized = false;
+  }
+  else
+    Serial.println(F("BLE is not currently running"));
 }
 
 // Function to stop all wifi scans
@@ -447,6 +462,7 @@ void WiFiScan::RunEspressifScan(uint8_t scan_mode, uint16_t color) {
   esp_wifi_set_promiscuous_filter(&filt);
   esp_wifi_set_promiscuous_rx_cb(&espressifSnifferCallback);
   esp_wifi_set_channel(set_channel, WIFI_SECOND_CHAN_NONE);
+  this->wifi_initialized = true;
   initTime = millis();
 }
 
@@ -492,6 +508,7 @@ void WiFiScan::RunPacketMonitor(uint8_t scan_mode, uint16_t color)
   esp_wifi_set_promiscuous_filter(&filt);
   esp_wifi_set_promiscuous_rx_cb(&wifiSnifferCallback);
   esp_wifi_set_channel(set_channel, WIFI_SECOND_CHAN_NONE);
+  this->wifi_initialized = true;
   uint32_t initTime = millis();
 }
 
@@ -538,6 +555,7 @@ void WiFiScan::RunEapolScan(uint8_t scan_mode, uint16_t color)
   esp_wifi_set_promiscuous_filter(&filt);
   esp_wifi_set_promiscuous_rx_cb(&eapolSnifferCallback);
   esp_wifi_set_channel(set_channel, WIFI_SECOND_CHAN_NONE);
+  this->wifi_initialized = true;
   initTime = millis();
 }
 
@@ -563,6 +581,7 @@ void WiFiScan::RunRickRoll(uint8_t scan_mode, uint16_t color)
   esp_wifi_set_promiscuous_filter(NULL);
   esp_wifi_set_promiscuous(true);
   esp_wifi_set_max_tx_power(78);
+  this->wifi_initialized = true;
   initTime = millis();
   //display_obj.clearScreen();
   //Serial.println("End of func");
@@ -595,6 +614,7 @@ void WiFiScan::RunBeaconSpam(uint8_t scan_mode, uint16_t color)
   esp_wifi_set_promiscuous_filter(NULL);
   esp_wifi_set_promiscuous(true);
   esp_wifi_set_max_tx_power(78);
+  this->wifi_initialized = true;
   initTime = millis();
   //display_obj.clearScreen();
   //Serial.println("End of func");
@@ -626,6 +646,7 @@ void WiFiScan::RunPwnScan(uint8_t scan_mode, uint16_t color)
   esp_wifi_set_promiscuous_filter(&filt);
   esp_wifi_set_promiscuous_rx_cb(&pwnSnifferCallback);
   esp_wifi_set_channel(set_channel, WIFI_SECOND_CHAN_NONE);
+  this->wifi_initialized = true;
   initTime = millis();
 }
 
@@ -656,6 +677,7 @@ void WiFiScan::RunBeaconScan(uint8_t scan_mode, uint16_t color)
   esp_wifi_set_promiscuous_filter(&filt);
   esp_wifi_set_promiscuous_rx_cb(&beaconSnifferCallback);
   esp_wifi_set_channel(set_channel, WIFI_SECOND_CHAN_NONE);
+  this->wifi_initialized = true;
   initTime = millis();
 }
 
@@ -685,6 +707,7 @@ void WiFiScan::RunDeauthScan(uint8_t scan_mode, uint16_t color)
   esp_wifi_set_promiscuous_filter(&filt);
   esp_wifi_set_promiscuous_rx_cb(&deauthSnifferCallback);
   esp_wifi_set_channel(set_channel, WIFI_SECOND_CHAN_NONE);
+  this->wifi_initialized = true;
   initTime = millis();
 }
 
@@ -716,6 +739,7 @@ void WiFiScan::RunProbeScan(uint8_t scan_mode, uint16_t color)
   esp_wifi_set_promiscuous_filter(&filt);
   esp_wifi_set_promiscuous_rx_cb(&probeSnifferCallback);
   esp_wifi_set_channel(set_channel, WIFI_SECOND_CHAN_NONE);
+  this->wifi_initialized = true;
   initTime = millis();
 }
 
@@ -782,6 +806,7 @@ void WiFiScan::RunBluetoothScan(uint8_t scan_mode, uint16_t color)
   pBLEScan->setWindow(99);  // less or equal setInterval value
   pBLEScan->start(0, scanCompleteCB);
   Serial.println("Started BLE Scan");
+  this->ble_initialized = true;
   initTime = millis();
 }
 

+ 2 - 0
esp32_marauder/WiFiScan.h

@@ -159,6 +159,8 @@ class WiFiScan
     int old_channel = 0;
 
     bool orient_display = false;
+    bool wifi_initialized = false;
+    bool ble_initialized = false;
 
     String free_ram = "";
     String old_free_ram = "";