From 206ed229198be252a9ae94342b39618aaab55925 Mon Sep 17 00:00:00 2001 From: krolyxon Date: Thu, 14 May 2026 23:14:31 +0530 Subject: apply code formatting --- src/ui/menu.cpp | 531 ++++++++++++++++++++++++++------------------------------ 1 file changed, 242 insertions(+), 289 deletions(-) (limited to 'src/ui/menu.cpp') diff --git a/src/ui/menu.cpp b/src/ui/menu.cpp index 43c3de4..9898f64 100644 --- a/src/ui/menu.cpp +++ b/src/ui/menu.cpp @@ -1,71 +1,55 @@ -#include #include "menu.h" +#include "BleMouse.h" +#include "bluetooth/ble_mouse.h" +#include "bluetooth/blescanner.h" #include "display.h" -#include "utils/buttons.h" #include "hid/badusb.h" -#include "rf/nrf24.h" +#include "nfc/nfc.h" #include "rf/cc1101.h" -#include "wifi/wifi_scan.h" -#include "wifi/wifi_analyzer.h" +#include "rf/nrf24.h" +#include "utils/buttons.h" #include "utils/device_check.h" -#include "bluetooth/ble_mouse.h" -#include "bluetooth/blescanner.h" #include "utils/sysinfo.h" -#include "BleMouse.h" -#include "nfc/nfc.h" +#include "wifi/wifi_analyzer.h" +#include "wifi/wifi_scan.h" +#include // ================= MENU DATA ================= extern BleMouse bleMouse; // Root menu -const char *mainMenuItems[] = { - "BadUSB", - "RF Capture", - "NRF Tools", - "BLE Scan", - "Wifi Scan", - "Wifi Analyzer", - "System Info", - "Device Check", - "Restart", - "Ble Mouse", - "NFC Tools" -}; - -Menu mainMenu = {mainMenuItems, sizeof(mainMenuItems) / sizeof(mainMenuItems[0])}; +const char *mainMenuItems[] = {"BadUSB", "RF Capture", "NRF Tools", + "BLE Scan", "Wifi Scan", "Wifi Analyzer", + "System Info", "Device Check", "Restart", + "Ble Mouse", "NFC Tools"}; +Menu mainMenu = {mainMenuItems, + sizeof(mainMenuItems) / sizeof(mainMenuItems[0])}; // NRF Tools menu const char *nrfToolsItems[] = { - "BLE Jammer", - "Bluetooth Jammer", - "Wifi Jammer", - "USB Wireless", - "Video TX", - "Zigbee", - "RC" + "BLE Jammer", "Bluetooth Jammer", "Wifi Jammer", "USB Wireless", + "Video TX", "Zigbee", "RC" }; -Menu nrfToolsMenu = {nrfToolsItems, sizeof(nrfToolsItems) / sizeof(nrfToolsItems[0])}; - - -const char *badusbItems[] = { - "ORION Demo", - "RickRoll", - "Matrix Rain", - "Fake Terminal", - "Wifi Password Extractor", - "Fake Update", - "Fake BSOD", - "Glitch Screen", - "ASCII Spam", - "Hacker Typer", - "PWN Reverse shell", - "Phishing attack", - "Desktop Ghost", - "System Stresser" -}; +Menu nrfToolsMenu = {nrfToolsItems, + sizeof(nrfToolsItems) / sizeof(nrfToolsItems[0])}; + +const char *badusbItems[] = {"ORION Demo", + "RickRoll", + "Matrix Rain", + "Fake Terminal", + "Wifi Password Extractor", + "Fake Update", + "Fake BSOD", + "Glitch Screen", + "ASCII Spam", + "Hacker Typer", + "PWN Reverse shell", + "Phishing attack", + "Desktop Ghost", + "System Stresser"}; Menu badusbMenu = {badusbItems, sizeof(badusbItems) / sizeof(badusbItems[0])}; @@ -82,282 +66,251 @@ bool insideFeature = false; // ================= DRAW ================= -void drawMenu() -{ - u8g2.clearBuffer(); +void drawMenu() { + u8g2.clearBuffer(); - // scroll handling - if (menuIndex < menuOffset) - menuOffset = menuIndex; + // scroll handling + if (menuIndex < menuOffset) + menuOffset = menuIndex; - if (menuIndex >= menuOffset + MENU_VISIBLE_ROWS) - menuOffset = menuIndex - MENU_VISIBLE_ROWS + 1; + if (menuIndex >= menuOffset + MENU_VISIBLE_ROWS) + menuOffset = menuIndex - MENU_VISIBLE_ROWS + 1; - for (int i = 0; i < MENU_VISIBLE_ROWS; i++) - { - int item = menuOffset + i; + for (int i = 0; i < MENU_VISIBLE_ROWS; i++) { + int item = menuOffset + i; - if (item >= currentMenu->size) - break; + if (item >= currentMenu->size) + break; - if (item == menuIndex) - u8g2.drawStr(0, 14 + i * 14, ">"); + if (item == menuIndex) + u8g2.drawStr(0, 14 + i * 14, ">"); - u8g2.drawStr(10, 14 + i * 14, currentMenu->items[item]); - } + u8g2.drawStr(10, 14 + i * 14, currentMenu->items[item]); + } - // scroll indicators - if (menuOffset > 0) - u8g2.drawStr(118, 10, "^"); + // scroll indicators + if (menuOffset > 0) + u8g2.drawStr(118, 10, "^"); - if (menuOffset + MENU_VISIBLE_ROWS < currentMenu->size) - u8g2.drawStr(118, 62, "v"); + if (menuOffset + MENU_VISIBLE_ROWS < currentMenu->size) + u8g2.drawStr(118, 62, "v"); - u8g2.sendBuffer(); + u8g2.sendBuffer(); } // ================= FEATURE EXECUTION ================= -void launchFeature() -{ - insideFeature = true; - - if (currentMenu == &mainMenu) - { - switch (menuIndex) - { - case 0: // BadUSB → enter submenu - currentMenu = &badusbMenu; - menuIndex = 0; - menuOffset = 0; - break; - - case 1: - handleMenu(); - break; - case 2: - // startNRFJammer(); - //startBleJammer(); - //startBluetoothJammer(); - currentMenu = &nrfToolsMenu; - menuIndex = 0; - menuOffset = 0; - break; - - break; - case 3: - ble_scan(); - ble_drawMenu(); - while (1) { - ble_loop(); - if (btnBack()) - break; - } - break; - - case 4: - { - // Start scan once - wifi_scan_start(); - wifi_scan_draw(); - - while (1) { - wifi_scan_loop(); - // EXIT condition handled ONLY here - if (btnBack()) { - delay(150); // debounce - break; - } - } - break; - } - case 5: - { - - wifi_analyzer_start(); - - bool prevBack = false; - while (1) - { - wifi_analyzer_loop(); - bool nowBack = btnBack(); - if (nowBack && !prevBack) - { - delay(150); - break; - } - prevBack = nowBack; - } - break; - } - - case 6: - runSystemInfoFeature(); - break; - case 7: - device_check_run(); - break; - case 8: - { - // wait for button release - delay(200); - - while (btnSelect()) - delay(10); - bool confirm = false; - - while (1) - { - u8g2.clearBuffer(); - u8g2.setFont(u8g2_font_6x13_tr); - - u8g2.drawStr(18, 18, "Restart Device?"); - - if (confirm) - { - u8g2.drawBox(10, 35, 45, 15); - u8g2.setDrawColor(0); - u8g2.drawStr(20, 47, "YES"); - u8g2.setDrawColor(1); - - u8g2.drawStr(75, 47, "NO"); - } - else - { - u8g2.drawStr(20, 47, "YES"); - - u8g2.drawBox(65, 35, 45, 15); - u8g2.setDrawColor(0); - u8g2.drawStr(78, 47, "NO"); - u8g2.setDrawColor(1); - } - - u8g2.sendBuffer(); - - if (btnLeft() || btnUp()) - { - confirm = true; - delay(150); - } - - if (btnRight() || btnDown()) - { - confirm = false; - delay(150); - } - - if (btnSelect()) - { - delay(150); - - if (confirm) - { - u8g2.clearBuffer(); - u8g2.drawStr(28, 30, "Restarting..."); - u8g2.sendBuffer(); - - delay(1000); - ESP.restart(); - } - else - { - break; - } - } - - if (btnBack()) - { - delay(150); - break; - } - } - } - break; - - case 9: - // Begin Ble mouse - bleMouse.begin(); - ble_mouse_run(); - break; - case 10: - pn532_scan_loop(); - break; +void launchFeature() { + insideFeature = true; + + if (currentMenu == &mainMenu) { + switch (menuIndex) { + case 0: // BadUSB → enter submenu + currentMenu = &badusbMenu; + menuIndex = 0; + menuOffset = 0; + break; + + case 1: + handleMenu(); + break; + case 2: + // startNRFJammer(); + // startBleJammer(); + // startBluetoothJammer(); + currentMenu = &nrfToolsMenu; + menuIndex = 0; + menuOffset = 0; + break; + + break; + case 3: + ble_scan(); + ble_drawMenu(); + while (1) { + ble_loop(); + if (btnBack()) + break; + } + break; + + case 4: { + // Start scan once + wifi_scan_start(); + wifi_scan_draw(); + + while (1) { + wifi_scan_loop(); + // EXIT condition handled ONLY here + if (btnBack()) { + delay(150); // debounce + break; } + } + break; } - else if (currentMenu == &badusbMenu) - { - badUSBMenu(menuIndex); - } else if (currentMenu == &nrfToolsMenu) { - NRFToolsMenu(menuIndex); + case 5: { + + wifi_analyzer_start(); + + bool prevBack = false; + while (1) { + wifi_analyzer_loop(); + bool nowBack = btnBack(); + if (nowBack && !prevBack) { + delay(150); + break; + } + prevBack = nowBack; + } + break; } - insideFeature = false; + case 6: + runSystemInfoFeature(); + break; + case 7: + device_check_run(); + break; + case 8: { + // wait for button release + delay(200); + + while (btnSelect()) + delay(10); + bool confirm = false; + + while (1) { + u8g2.clearBuffer(); + u8g2.setFont(u8g2_font_6x13_tr); + + u8g2.drawStr(18, 18, "Restart Device?"); + + if (confirm) { + u8g2.drawBox(10, 35, 45, 15); + u8g2.setDrawColor(0); + u8g2.drawStr(20, 47, "YES"); + u8g2.setDrawColor(1); + + u8g2.drawStr(75, 47, "NO"); + } else { + u8g2.drawStr(20, 47, "YES"); + + u8g2.drawBox(65, 35, 45, 15); + u8g2.setDrawColor(0); + u8g2.drawStr(78, 47, "NO"); + u8g2.setDrawColor(1); + } + + u8g2.sendBuffer(); - drawMenu(); + if (btnLeft() || btnUp()) { + confirm = true; + delay(150); + } + + if (btnRight() || btnDown()) { + confirm = false; + delay(150); + } + + if (btnSelect()) { + delay(150); + + if (confirm) { + u8g2.clearBuffer(); + u8g2.drawStr(28, 30, "Restarting..."); + u8g2.sendBuffer(); + + delay(1000); + ESP.restart(); + } else { + break; + } + } + + if (btnBack()) { + delay(150); + break; + } + } + } break; + + case 9: + // Begin Ble mouse + bleMouse.begin(); + ble_mouse_run(); + break; + case 10: + pn532_scan_loop(); + break; + } + } else if (currentMenu == &badusbMenu) { + badUSBMenu(menuIndex); + } else if (currentMenu == &nrfToolsMenu) { + NRFToolsMenu(menuIndex); + } + + insideFeature = false; + + drawMenu(); } // ================= INIT ================= -void menuInit() -{ - currentMenu = &mainMenu; - menuIndex = 0; - menuOffset = 0; +void menuInit() { + currentMenu = &mainMenu; + menuIndex = 0; + menuOffset = 0; - drawMenu(); + drawMenu(); } // ================= LOOP ================= -void menuLoop() -{ - static uint32_t lastPress = 0; - - if (insideFeature) - return; +void menuLoop() { + static uint32_t lastPress = 0; - if (millis() - lastPress < 150) - return; + if (insideFeature) + return; - if (btnUp()) - { - menuIndex--; + if (millis() - lastPress < 150) + return; - if (menuIndex < 0) - menuIndex = currentMenu->size - 1; + if (btnUp()) { + menuIndex--; - drawMenu(); - lastPress = millis(); - } + if (menuIndex < 0) + menuIndex = currentMenu->size - 1; - else if (btnDown()) - { - menuIndex++; + drawMenu(); + lastPress = millis(); + } - if (menuIndex >= currentMenu->size) - menuIndex = 0; + else if (btnDown()) { + menuIndex++; - drawMenu(); - lastPress = millis(); - } + if (menuIndex >= currentMenu->size) + menuIndex = 0; - else if (btnSelect()) - { - launchFeature(); - lastPress = millis(); - } + drawMenu(); + lastPress = millis(); + } - else if (btnBack()) - { - if (currentMenu != &mainMenu) - { - currentMenu = &mainMenu; - menuIndex = 0; - menuOffset = 0; + else if (btnSelect()) { + launchFeature(); + lastPress = millis(); + } - drawMenu(); - } + else if (btnBack()) { + if (currentMenu != &mainMenu) { + currentMenu = &mainMenu; + menuIndex = 0; + menuOffset = 0; - lastPress = millis(); + drawMenu(); } + + lastPress = millis(); + } } -- cgit v1.2.3