Settings actually work

This commit is contained in:
Just Call Me Koko
2022-01-18 23:20:42 -05:00
parent 8e874c493b
commit 71ced23041
5 changed files with 2962 additions and 2923 deletions

View File

@@ -3,6 +3,7 @@
#include "Arduino.h"
#include "FS.h"
#include "settings.h"
//#include "SD_MMC.h"
#define BUF_SIZE 3 * 1024 // Had to reduce buffer size to save RAM. GG @spacehuhn
@@ -10,6 +11,8 @@
//extern bool useSD;
extern Settings settings_obj;
class Buffer {
public:
Buffer();

View File

@@ -131,7 +131,7 @@ class Display
TFT_eSPI tft = TFT_eSPI();
TFT_eSprite img = TFT_eSprite(&tft);
TFT_eSPI_Button key[BUTTON_ARRAY_LEN];
const String PROGMEM version_number = "v0.9.4";
const String PROGMEM version_number = "v0.9.5";
bool printing = false;
bool loading = false;

View File

@@ -1212,25 +1212,34 @@ String MenuFunctions::callSetting(String key) {
}
}
void MenuFunctions::displaySetting(String key) {
void MenuFunctions::displaySetting(String key, Menu* menu, int index) {
specSettingMenu.name = key;
bool setting_value = settings_obj.loadSetting<bool>(key);
// Make a local copy of menu node
MenuNode node = menu->list->get(index);
display_obj.tft.setTextWrap(false);
display_obj.tft.setFreeFont(NULL);
display_obj.tft.setCursor(0, 100);
display_obj.tft.setTextSize(1);
// Set local copy value
if (!setting_value) {
display_obj.tft.setTextColor(TFT_RED);
display_obj.tft.println(F("Setting disabled"));
node.selected = false;
}
else {
display_obj.tft.setTextColor(TFT_GREEN);
display_obj.tft.println(F("Setting on"));
node.selected = true;
}
// Put local copy back into menu
menu->list->set(index, node);
}
@@ -1598,7 +1607,7 @@ void MenuFunctions::RunSetup()
settings_obj.toggleSetting(settings_obj.setting_index_to_name(i));
changeMenu(&specSettingMenu);
//this->callSetting(settings_obj.setting_index_to_name(i));
this->displaySetting(settings_obj.setting_index_to_name(i));
this->displaySetting(settings_obj.setting_index_to_name(i), &settingsMenu, i + 1);
}, settings_obj.loadSetting<bool>(settings_obj.setting_index_to_name(i)));
}
@@ -1771,10 +1780,10 @@ void MenuFunctions::displayCurrentMenu()
//display_obj.key[i].drawButton2(current_menu->list->get(i).name);
//display_obj.key[i].drawButton(ML_DATUM, BUTTON_PADDING, current_menu->list->get(i).name);
//display_obj.key[i].drawButton(true);
//if (!current_menu->list->get(i).selected)
if (!current_menu->list->get(i).selected)
display_obj.key[i].drawButton(false, current_menu->list->get(i).name);
//else
// display_obj.key[i].drawButton(true, current_menu->list->get(i).name);
else
display_obj.key[i].drawButton(true, current_menu->list->get(i).name);
if (current_menu->list->get(i).name != "Back")
display_obj.tft.drawXBitmap(0,

View File

@@ -182,7 +182,7 @@ class MenuFunctions
void showMenuList(Menu* menu, int layer);
String callSetting(String key);
void runBoolSetting(String ley);
void displaySetting(String key);
void displaySetting(String key, Menu* menu, int index);
public:
MenuFunctions();

View File

@@ -267,13 +267,13 @@ void WiFiScan::initWiFi(uint8_t scan_mode) {
// Set the channel
if (scan_mode != WIFI_SCAN_OFF) {
Serial.println(F("Initializing WiFi settings..."));
this->set_channel = settings_obj.loadSetting<uint8_t>("Channel");
//this->set_channel = settings_obj.loadSetting<uint8_t>("Channel");
this->changeChannel();
this->force_pmkid = settings_obj.loadSetting<bool>("Force PMKID");
this->force_probe = settings_obj.loadSetting<bool>("Force Probe");
this->save_pcap = settings_obj.loadSetting<bool>("Save PCAP");
this->channel_hop_delay = settings_obj.loadSetting<int>("Channel Hop Delay");
//this->channel_hop_delay = settings_obj.loadSetting<int>("Channel Hop Delay");
Serial.println(F("Initialization complete"));
}
}
@@ -1218,6 +1218,8 @@ void WiFiScan::getMAC(char *addr, uint8_t* data, uint16_t offset) {
void WiFiScan::espressifSnifferCallback(void* buf, wifi_promiscuous_pkt_type_t type)
{
bool save_packet = settings_obj.loadSetting<bool>("Save PCAP");
wifi_promiscuous_pkt_t *snifferPacket = (wifi_promiscuous_pkt_t*)buf;
WifiMgmtHdr *frameControl = (WifiMgmtHdr*)snifferPacket->payload;
wifi_pkt_rx_ctrl_t ctrl = (wifi_pkt_rx_ctrl_t)snifferPacket->rx_ctrl;
@@ -1288,12 +1290,15 @@ void WiFiScan::espressifSnifferCallback(void* buf, wifi_promiscuous_pkt_type_t t
Serial.println();
if (save_packet)
sd_obj.addPacket(snifferPacket->payload, len);
//}
}
void WiFiScan::pwnSnifferCallback(void* buf, wifi_promiscuous_pkt_type_t type)
{
bool save_packet = settings_obj.loadSetting<bool>("Save PCAP");
wifi_promiscuous_pkt_t *snifferPacket = (wifi_promiscuous_pkt_t*)buf;
WifiMgmtHdr *frameControl = (WifiMgmtHdr*)snifferPacket->payload;
wifi_pkt_rx_ctrl_t ctrl = (wifi_pkt_rx_ctrl_t)snifferPacket->rx_ctrl;
@@ -1383,6 +1388,7 @@ void WiFiScan::pwnSnifferCallback(void* buf, wifi_promiscuous_pkt_type_t type)
Serial.println();
if (save_packet)
sd_obj.addPacket(snifferPacket->payload, len);
}
}
@@ -1391,6 +1397,8 @@ void WiFiScan::pwnSnifferCallback(void* buf, wifi_promiscuous_pkt_type_t type)
void WiFiScan::apSnifferCallback(void* buf, wifi_promiscuous_pkt_type_t type)
{
bool save_packet = settings_obj.loadSetting<bool>("Save PCAP");
wifi_promiscuous_pkt_t *snifferPacket = (wifi_promiscuous_pkt_t*)buf;
WifiMgmtHdr *frameControl = (WifiMgmtHdr*)snifferPacket->payload;
wifi_pkt_rx_ctrl_t ctrl = (wifi_pkt_rx_ctrl_t)snifferPacket->rx_ctrl;
@@ -1495,6 +1503,7 @@ void WiFiScan::apSnifferCallback(void* buf, wifi_promiscuous_pkt_type_t type)
Serial.println();
if (save_packet)
sd_obj.addPacket(snifferPacket->payload, len);
}
}
@@ -1503,6 +1512,8 @@ void WiFiScan::apSnifferCallback(void* buf, wifi_promiscuous_pkt_type_t type)
void WiFiScan::beaconSnifferCallback(void* buf, wifi_promiscuous_pkt_type_t type)
{
bool save_packet = settings_obj.loadSetting<bool>("Save PCAP");
wifi_promiscuous_pkt_t *snifferPacket = (wifi_promiscuous_pkt_t*)buf;
WifiMgmtHdr *frameControl = (WifiMgmtHdr*)snifferPacket->payload;
wifi_pkt_rx_ctrl_t ctrl = (wifi_pkt_rx_ctrl_t)snifferPacket->rx_ctrl;
@@ -1557,6 +1568,7 @@ void WiFiScan::beaconSnifferCallback(void* buf, wifi_promiscuous_pkt_type_t type
Serial.println();
if (save_packet)
sd_obj.addPacket(snifferPacket->payload, len);
}
}
@@ -1564,6 +1576,8 @@ void WiFiScan::beaconSnifferCallback(void* buf, wifi_promiscuous_pkt_type_t type
void WiFiScan::deauthSnifferCallback(void* buf, wifi_promiscuous_pkt_type_t type)
{
bool save_packet = settings_obj.loadSetting<bool>("Save PCAP");
wifi_promiscuous_pkt_t *snifferPacket = (wifi_promiscuous_pkt_t*)buf;
WifiMgmtHdr *frameControl = (WifiMgmtHdr*)snifferPacket->payload;
wifi_pkt_rx_ctrl_t ctrl = (wifi_pkt_rx_ctrl_t)snifferPacket->rx_ctrl;
@@ -1614,12 +1628,15 @@ void WiFiScan::deauthSnifferCallback(void* buf, wifi_promiscuous_pkt_type_t type
Serial.println();
if (save_packet)
sd_obj.addPacket(snifferPacket->payload, len);
}
}
}
void WiFiScan::probeSnifferCallback(void* buf, wifi_promiscuous_pkt_type_t type) {
bool save_packet = settings_obj.loadSetting<bool>("Save PCAP");
wifi_promiscuous_pkt_t *snifferPacket = (wifi_promiscuous_pkt_t*)buf;
WifiMgmtHdr *frameControl = (WifiMgmtHdr*)snifferPacket->payload;
wifi_pkt_rx_ctrl_t ctrl = (wifi_pkt_rx_ctrl_t)snifferPacket->rx_ctrl;
@@ -1675,12 +1692,15 @@ void WiFiScan::probeSnifferCallback(void* buf, wifi_promiscuous_pkt_type_t type)
Serial.println();
if (save_packet)
sd_obj.addPacket(snifferPacket->payload, len);
}
}
}
void WiFiScan::beaconListSnifferCallback(void* buf, wifi_promiscuous_pkt_type_t type) {
bool save_packet = settings_obj.loadSetting<bool>("Save PCAP");
wifi_promiscuous_pkt_t *snifferPacket = (wifi_promiscuous_pkt_t*)buf;
WifiMgmtHdr *frameControl = (WifiMgmtHdr*)snifferPacket->payload;
wifi_pkt_rx_ctrl_t ctrl = (wifi_pkt_rx_ctrl_t)snifferPacket->rx_ctrl;
@@ -1757,6 +1777,7 @@ void WiFiScan::beaconListSnifferCallback(void* buf, wifi_promiscuous_pkt_type_t
Serial.println();
if (save_packet)
sd_obj.addPacket(snifferPacket->payload, len);
}
}
@@ -2075,6 +2096,8 @@ void WiFiScan::sendDeauthAttack(uint32_t currentTime) {
void WiFiScan::wifiSnifferCallback(void* buf, wifi_promiscuous_pkt_type_t type)
{
bool save_packet = settings_obj.loadSetting<bool>("Save PCAP");
wifi_promiscuous_pkt_t *snifferPacket = (wifi_promiscuous_pkt_t*)buf;
WifiMgmtHdr *frameControl = (WifiMgmtHdr*)snifferPacket->payload;
wifi_pkt_rx_ctrl_t ctrl = (wifi_pkt_rx_ctrl_t)snifferPacket->rx_ctrl;
@@ -2101,6 +2124,7 @@ void WiFiScan::wifiSnifferCallback(void* buf, wifi_promiscuous_pkt_type_t type)
num_probe++;
}
if (save_packet)
sd_obj.addPacket(snifferPacket->payload, len);
if (( (snifferPacket->payload[30] == 0x88 && snifferPacket->payload[31] == 0x8e)|| ( snifferPacket->payload[32] == 0x88 && snifferPacket->payload[33] == 0x8e) ))
@@ -2161,6 +2185,8 @@ void WiFiScan::eapolSnifferCallback(void* buf, wifi_promiscuous_pkt_type_t type)
sd_obj.addPacket(snifferPacket->payload, len);
}
*/
bool save_packet = settings_obj.loadSetting<bool>("Save PCAP");
wifi_promiscuous_pkt_t *snifferPacket = (wifi_promiscuous_pkt_t*)buf;
WifiMgmtHdr *frameControl = (WifiMgmtHdr*)snifferPacket->payload;
wifi_pkt_rx_ctrl_t ctrl = (wifi_pkt_rx_ctrl_t)snifferPacket->rx_ctrl;
@@ -2206,6 +2232,7 @@ void WiFiScan::eapolSnifferCallback(void* buf, wifi_promiscuous_pkt_type_t type)
num_eapol++;
}
if (save_packet)
sd_obj.addPacket(snifferPacket->payload, len);
}