Explorar el Código

Revert "Cleanup SD stuff"

This reverts commit f86b5a4df0bd87ef8b3c6c3ea4cf5918f4a8ef1a.
Just Call Me Koko hace 5 años
padre
commit
2572b83701

+ 1 - 1
esp32_marauder/Display.h

@@ -76,7 +76,7 @@ class Display
     TFT_eSPI tft = TFT_eSPI();
     TFT_eSprite img = TFT_eSprite(&tft);
     TFT_eSPI_Button key[BUTTON_ARRAY_LEN];
-    String version_number = "v0.7.1";
+    String version_number = "v0.7.0";
 
     bool printing = false;
     bool loading = false;

+ 1 - 1
esp32_marauder/MenuFunctions.cpp

@@ -638,7 +638,7 @@ void MenuFunctions::RunSetup()
     WiFi.softAPdisconnect(true);
     web_obj.shutdownServer();
   });
-  addNodes(&updateMenu, "Back", TFT_LIGHTGREY, NULL, 0, [this](){wifi_scan_obj.currentScanMode = WIFI_SCAN_OFF; changeMenu(updateMenu.parentMenu);});
+  //addNodes(&updateMenu, "Back", TFT_LIGHTGREY, NULL, 0, [this](){wifi_scan_obj.currentScanMode = WIFI_SCAN_OFF; changeMenu(updateMenu.parentMenu);});
 
   // Failed update menu
   failedUpdateMenu.parentMenu = &whichUpdateMenu;

+ 3 - 37
esp32_marauder/SDInterface.cpp

@@ -1,41 +1,13 @@
 #include "SDInterface.h"
 
-bool SDInterface::startSD() {
-  Serial.println("Starting SD card...");
-  if (SD.begin(SD_CS)) {
-    buffer_obj = Buffer();
-    this->sd_running = true;
-    return true;
-  }
-  else {
-    //delete &buffer_obj;
-    //buffer_obj = NULL;
-    this->sd_running = false;
-    return false;
-  }
-}
-
-bool SDInterface::stopSD() {
-  Serial.println("Stopping SD card");
-  //delete &buffer_obj;
-  //buffer_obj = NULL;
-  this->sd_running = false;
-  SD.end();
-}
-
 bool SDInterface::initSD() {
   String display_string = "";
   
-  if (!this->startSD()) {
+  if (!SD.begin(SD_CS)) {
     Serial.println("Failed to mount SD Card");
     this->supported = false;
-    this->stopSD();
     return false;
   }
-//  else {
-//    SD.end(); // Release memory used for SD
-//    return false;
-//  }
   else {
     this->supported = true;
     this->cardType = SD.cardType();
@@ -75,13 +47,10 @@ bool SDInterface::initSD() {
       this->card_sz = sz;
     }
 
-    //buffer_obj = Buffer();
+    buffer_obj = Buffer();
 
     //if (this->supported)
     //  buffer_obj.open(&SD);
-
-    // Clean up the SD
-    this->stopSD();
     
     return true;
   }
@@ -100,7 +69,6 @@ void SDInterface::openCapture(String file_name) {
 }
 
 void SDInterface::runUpdate() {
-  this->startSD();
   //display_obj.clearScreen();
   display_obj.tft.setTextWrap(false);
   display_obj.tft.setFreeFont(NULL);
@@ -136,8 +104,6 @@ void SDInterface::runUpdate() {
     }
 
     updateBin.close();
-
-    this->stopSD();
     
       // whe finished remove the binary from sd card to indicate end of the process
     display_obj.tft.println("rebooting...");
@@ -194,7 +160,7 @@ void SDInterface::performUpdate(Stream &updateSource, size_t updateSize) {
 }
 
 void SDInterface::main() {
-  if ((this->supported) && (this->do_save) && (this->sd_running)) {
+  if ((this->supported) && (this->do_save)) {
     //Serial.println("Saving packet...");
     buffer_obj.forceSave(&SD);
   }

+ 0 - 3
esp32_marauder/SDInterface.h

@@ -14,7 +14,6 @@ extern Display display_obj;
 class SDInterface {
 
   private:
-    bool sd_running = false;
 
   public:
     uint8_t cardType;
@@ -29,8 +28,6 @@ class SDInterface {
   
     bool initSD();
 
-    bool stopSD();
-    bool startSD();
     void addPacket(uint8_t* buf, uint32_t len);
     void openCapture(String file_name = "");
     void runUpdate();

+ 38 - 69
esp32_marauder/WiFiScan.cpp

@@ -162,18 +162,6 @@ 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)
 {
@@ -188,8 +176,13 @@ void WiFiScan::StopScan(uint8_t scan_mode)
   (currentScanMode == WIFI_ATTACK_RICK_ROLL) ||
   (currentScanMode == WIFI_PACKET_MONITOR))
   {
-    sd_obj.stopSD();
-    this->shutdownWiFi();
+    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();
   }
 
   
@@ -227,11 +220,11 @@ 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);
-  //esp_wifi_start();
+  esp_wifi_set_storage(WIFI_STORAGE_RAM);
+  esp_wifi_set_mode(WIFI_MODE_NULL);
+  esp_wifi_start();
   esp_err_t mac_status = esp_wifi_get_mac(ESP_IF_WIFI_STA, mac);
   sprintf(macAddrChr, 
           "%02X:%02X:%02X:%02X:%02X:%02X",
@@ -241,7 +234,6 @@ String WiFiScan::getStaMAC()
           mac[3],
           mac[4],
           mac[5]);
-  this->shutdownWiFi();
   return String(macAddrChr);
 }
 
@@ -250,7 +242,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);
@@ -264,7 +256,6 @@ String WiFiScan::getApMAC()
           mac[3],
           mac[4],
           mac[5]);
-  this->shutdownWiFi();
   return String(macAddrChr);
 }
 
@@ -302,8 +293,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: ");
@@ -318,41 +309,35 @@ void WiFiScan::RunInfo()
   display_obj.tft.setTextSize(1);
   display_obj.tft.setTextColor(TFT_CYAN);
 
-  display_obj.tft.println(F("     Firmware: Marauder"));
-  display_obj.tft.print(F("      Version: "));
-  display_obj.tft.print(display_obj.version_number);
-  display_obj.tft.println(F("\n"));
-  display_obj.tft.print(F("  Station MAC: "));
-  display_obj.tft.println(sta_mac);
-  display_obj.tft.print(F("       AP MAC: "));
-  display_obj.tft.println(ap_mac);
-  display_obj.tft.print(F("     "));
-  display_obj.tft.println(free_ram);
+  //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("     " + free_ram);
 
   if (sd_obj.supported) {
-    display_obj.tft.println(F("      SD Card: Connected"));
-    display_obj.tft.print(F(" SD Card Size: "));
+    display_obj.tft.println("      SD Card: Connected");
+    display_obj.tft.print(" SD Card Size: ");
     display_obj.tft.print(sd_obj.card_sz);
-    display_obj.tft.println(F("MB"));
+    display_obj.tft.println("MB");
   }
   else {
-    display_obj.tft.println(F("      SD Card: Not Connected"));
-    display_obj.tft.println(F(" SD Card Size: 0"));
+    display_obj.tft.println("      SD Card: Not Connected");
+    display_obj.tft.println(" SD Card Size: 0");
   }  
 
   battery_obj.battery_level = battery_obj.getBatteryLevel();
   if (battery_obj.i2c_supported) {
-    display_obj.tft.println(F("   IP5306 I2C: supported"));
+    display_obj.tft.println("   IP5306 I2C: supported");
     display_obj.tft.println("  Battery Lvl: " + (String)battery_obj.battery_level + "%");
   }
   else
-    display_obj.tft.println(F("   IP5306 I2C: not supported"));
+    display_obj.tft.println("   IP5306 I2C: not supported");
 
   display_obj.tft.println("Internal temp: " + (String)temp_obj.current_temp + " C");
 }
 
 void WiFiScan::RunEspressifScan(uint8_t scan_mode, uint16_t color) {
-  sd_obj.startSD();
   sd_obj.openCapture("espressif");
   
   display_obj.TOP_FIXED_AREA_2 = 48;
@@ -368,7 +353,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);
@@ -385,7 +370,7 @@ void WiFiScan::RunPacketMonitor(uint8_t scan_mode, uint16_t color)
   display_obj.tft.init();
   display_obj.tft.setRotation(1);
   display_obj.tft.fillScreen(TFT_BLACK);
-  sd_obj.startSD();
+
   sd_obj.openCapture("packet_monitor");
   
   #ifdef TFT_SHIELD
@@ -413,7 +398,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);
@@ -431,7 +416,7 @@ void WiFiScan::RunEapolScan(uint8_t scan_mode, uint16_t color)
   display_obj.tft.init();
   display_obj.tft.setRotation(1);
   display_obj.tft.fillScreen(TFT_BLACK);
-  sd_obj.startSD();
+
   sd_obj.openCapture("eapol");
 
   #ifdef TFT_SHIELD
@@ -459,7 +444,7 @@ void WiFiScan::RunEapolScan(uint8_t scan_mode, uint16_t color)
   display_obj.tftDrawExitScaleButtons();
 
 
-  //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);
@@ -488,11 +473,7 @@ void WiFiScan::RunRickRoll(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_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
-  esp_wifi_init(&cfg);
-  esp_wifi_set_storage(WIFI_STORAGE_RAM);
-  esp_wifi_set_mode(WIFI_AP_STA);
-  //WiFi.mode(WIFI_AP_STA);
+  WiFi.mode(WIFI_AP_STA);
   esp_wifi_start();
   esp_wifi_set_promiscuous_filter(NULL);
   esp_wifi_set_promiscuous(true);
@@ -520,11 +501,7 @@ 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_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
-  esp_wifi_init(&cfg);
-  esp_wifi_set_storage(WIFI_STORAGE_RAM);
-  //WiFi.mode(WIFI_AP_STA);
-  esp_wifi_set_mode(WIFI_AP_STA);
+  WiFi.mode(WIFI_AP_STA);
   esp_wifi_start();
   esp_wifi_set_promiscuous_filter(NULL);
   esp_wifi_set_promiscuous(true);
@@ -536,7 +513,6 @@ void WiFiScan::RunBeaconSpam(uint8_t scan_mode, uint16_t color)
 
 void WiFiScan::RunPwnScan(uint8_t scan_mode, uint16_t color)
 {
-  sd_obj.startSD();
   sd_obj.openCapture("pwnagotchi");
   
   display_obj.TOP_FIXED_AREA_2 = 48;
@@ -552,7 +528,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);
@@ -567,7 +543,6 @@ void WiFiScan::RunPwnScan(uint8_t scan_mode, uint16_t color)
 // Function to start running a beacon scan
 void WiFiScan::RunBeaconScan(uint8_t scan_mode, uint16_t color)
 {
-  sd_obj.startSD();
   sd_obj.openCapture("beacon");
   
   display_obj.TOP_FIXED_AREA_2 = 48;
@@ -583,7 +558,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);
@@ -597,7 +572,6 @@ void WiFiScan::RunBeaconScan(uint8_t scan_mode, uint16_t color)
 
 void WiFiScan::RunDeauthScan(uint8_t scan_mode, uint16_t color)
 {
-  sd_obj.startSD();
   sd_obj.openCapture("deauth");
   
   display_obj.TOP_FIXED_AREA_2 = 48;
@@ -613,7 +587,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);
@@ -629,7 +603,6 @@ void WiFiScan::RunDeauthScan(uint8_t scan_mode, uint16_t color)
 // Function for running probe request scan
 void WiFiScan::RunProbeScan(uint8_t scan_mode, uint16_t color)
 {
-  sd_obj.startSD();
   sd_obj.openCapture("probe");
   
   display_obj.TOP_FIXED_AREA_2 = 48;
@@ -645,7 +618,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);
@@ -858,10 +831,7 @@ 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]);
-          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((char)snifferPacket->payload[i + 38]);
         }
         //essid.concat("\": \"\"}}");
         //Serial.println("\n" + (String)(snifferPacket->payload[37]) + " -> " + essid);
@@ -871,7 +841,6 @@ 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");

+ 0 - 1
esp32_marauder/WiFiScan.h

@@ -173,7 +173,6 @@ class WiFiScan
     uint8_t currentScanMode = 0;
     void main(uint32_t currentTime);
     void StartScan(uint8_t scan_mode, uint16_t color = 0);
-    void shutdownWiFi();
     void StopScan(uint8_t scan_mode);
     
     static void getMAC(char *addr, uint8_t* data, uint16_t offset);