mirror of
https://github.com/justcallmekoko/ESP32Marauder.git
synced 2025-12-23 07:29:14 -08:00
* Trims serial input for PuTTY * v0.9.7 Release * Re-release v0.9.7 * add OG-Marauder enclosure (#124) * add Marauder Mini Case and rearrange files * Add OG-Marauder Enclosure * Add more cmd, clean serial, add ascii * Add attack command to CLI * Add SSID commands * print eapol when received * Add more sniff and attack commands * Fix OTA update shutdown via CLI * Add help command * Release v0.9.8 * Add channel arg to pmkid sniff * Add targeted ap beacon spam * Save a beacon packet * AP obfuscation attack * Update README.md * Send deauth for pmkid * PMKID deauth optional * Release v0.9.9 * v0.9.10 Release * Select all and flipper LED * Add screen buffer for mini * Fix screen buffer formatting * packet monitor eapol scan formatting * Release v0.9.11 * Update README.md * Add settings command and SD CS * Release v0.9.12 * Fix mini update menu * Release v0.9.13-rc1 * Fix stopscan and sniffpmkid * fix sniffpmkid SSID visible (#140) * Add rssi and setting reset * Release v0.9.13 * Create build_push.yml * Add libraries * Fix library red * Spelling * Adjust ref for SwitchLib * Add ESP32 Board * Update board fqdn * Specify package version for ESP32 * Add compiler switches * Update compile args * Lib args * Fix multdefs * Update version of arduino test compile * Separate lib install * Jobs together * Fix warnings flag * Add muldefs arg to cli * Update build_push.yml * Specify build property * Full build property string * Fix quote placement * Add find and replace * Update build_push.yml * Update build_push.yml * Update build_push.yml * Cat platform file * Update build_push.yml * Add install boards * Update build_push.yml * Add bash for loop for platform * Update build_push.yml * find and replace * Add muldefs to ESP32 and ESP32S2 * Add display bins * minimal spiffs * Minimal SPIFFS syntax * More Minimal SPIFFS syntax * Add more build params * Add upload artifacts * Add TFT Setup files * Add configure TFT_eSPI * Configure libs and configs * Fix sed file locations * Update build_push.yml * Update build_push.yml * Look for TFT_eSPI * Update start location for find * Update locations of libraries * Fix path to TFT_eSPI * Compile for other platforms * Create draft release * Update README.md * Only allow manual workflow * Fix blank PCAPs * Switch configs * Specify NimBLE 1.2.0 * No "v" in tag * Fix SD card init issues Copy SD lib from arduino-esp32 v2.0.4 to replace SD lib from arduino-esp32 v2.0.0-rc2 * Pull arduino-esp32 v2.0.4 * Replace 2.0.0-rc1 SD lib with 2.0.4 * Fix path * Gramatical (#155) * Add raw cap and manual deauth * Revert to flipper * Change color * Change color again * define white * Update issue templates * Create config.yml * Specify dst mac again * Update README.md * Create .gitignore Co-authored-by: Gregor Hermani <53179565+trisp3ar@users.noreply.github.com> Co-authored-by: improving-rigmarole <17810364+improving-rigmarole@users.noreply.github.com> Co-authored-by: Ayden <butera.ayden@gmail.com>
152 lines
5.3 KiB
C++
152 lines
5.3 KiB
C++
#ifndef CommandLine_h
|
|
#define CommandLine_h
|
|
|
|
#include "configs.h"
|
|
|
|
#ifdef HAS_SCREEN
|
|
#include "MenuFunctions.h"
|
|
#include "Display.h"
|
|
#endif
|
|
|
|
#include "WiFiScan.h"
|
|
#include "Web.h"
|
|
#include "SDInterface.h"
|
|
#include "settings.h"
|
|
|
|
#ifdef HAS_SCREEN
|
|
extern MenuFunctions menu_function_obj;
|
|
extern Display display_obj;
|
|
#endif
|
|
|
|
extern WiFiScan wifi_scan_obj;
|
|
extern Web web_obj;
|
|
extern SDInterface sd_obj;
|
|
extern Settings settings_obj;
|
|
extern LinkedList<AccessPoint>* access_points;
|
|
extern LinkedList<ssid>* ssids;
|
|
extern const String PROGMEM version_number;
|
|
|
|
//// Commands
|
|
|
|
// Admin
|
|
const char PROGMEM CH_CMD[] = "channel";
|
|
const char PROGMEM CLEARAP_CMD[] = "clearlist";
|
|
const char PROGMEM REBOOT_CMD[] = "reboot";
|
|
const char PROGMEM UPDATE_CMD[] = "update";
|
|
const char PROGMEM HELP_CMD[] = "help";
|
|
const char PROGMEM SETTINGS_CMD[] = "settings";
|
|
|
|
// WiFi sniff/scan
|
|
const char PROGMEM SCANAP_CMD[] = "scanap";
|
|
const char PROGMEM SNIFF_RAW_CMD[] = "sniffraw";
|
|
const char PROGMEM SNIFF_BEACON_CMD[] = "sniffbeacon";
|
|
const char PROGMEM SNIFF_PROBE_CMD[] = "sniffprobe";
|
|
const char PROGMEM SNIFF_PWN_CMD[] = "sniffpwn";
|
|
const char PROGMEM SNIFF_ESP_CMD[] = "sniffesp";
|
|
const char PROGMEM SNIFF_DEAUTH_CMD[] = "sniffdeauth";
|
|
const char PROGMEM SNIFF_PMKID_CMD[] = "sniffpmkid";
|
|
const char PROGMEM STOPSCAN_CMD[] = "stopscan";
|
|
|
|
// WiFi attack
|
|
const char PROGMEM ATTACK_CMD[] = "attack";
|
|
const char PROGMEM ATTACK_TYPE_DEAUTH[] = "deauth";
|
|
const char PROGMEM ATTACK_TYPE_BEACON[] = "beacon";
|
|
const char PROGMEM ATTACK_TYPE_PROBE[] = "probe";
|
|
const char PROGMEM ATTACK_TYPE_RR[] = "rickroll";
|
|
|
|
// WiFi Aux
|
|
const char PROGMEM LIST_AP_CMD[] = "list";
|
|
const char PROGMEM SEL_CMD[] = "select";
|
|
const char PROGMEM SSID_CMD[] = "ssid";
|
|
|
|
// Bluetooth sniff/scan
|
|
const char PROGMEM BT_SNIFF_CMD[] = "sniffbt";
|
|
const char PROGMEM BT_SKIM_CMD[] = "sniffskim";
|
|
|
|
|
|
//// Command help messages
|
|
// Admin
|
|
const char PROGMEM HELP_HEAD[] = "============ Commands ============";
|
|
const char PROGMEM HELP_CH_CMD[] = "channel [-s <channel>]";
|
|
const char PROGMEM HELP_CLEARAP_CMD_A[] = "clearlist -a";
|
|
const char PROGMEM HELP_CLEARAP_CMD_B[] = "clearlist -s";
|
|
const char PROGMEM HELP_REBOOT_CMD[] = "reboot";
|
|
const char PROGMEM HELP_UPDATE_CMD_A[] = "update -s";
|
|
const char PROGMEM HELP_UPDATE_CMD_B[] = "update -w";
|
|
const char PROGMEM HELP_SETTINGS_CMD[] = "settings [-s <setting> enable/disable>]/[-r]";
|
|
|
|
// WiFi sniff/scan
|
|
const char PROGMEM HELP_SCANAP_CMD[] = "scanap";
|
|
const char PROGMEM HELP_SNIFF_RAW_CMD[] = "sniffraw";
|
|
const char PROGMEM HELP_SNIFF_BEACON_CMD[] = "sniffbeacon";
|
|
const char PROGMEM HELP_SNIFF_PROBE_CMD[] = "sniffprobe";
|
|
const char PROGMEM HELP_SNIFF_PWN_CMD[] = "sniffpwn";
|
|
const char PROGMEM HELP_SNIFF_ESP_CMD[] = "sniffesp";
|
|
const char PROGMEM HELP_SNIFF_DEAUTH_CMD[] = "sniffdeauth";
|
|
const char PROGMEM HELP_SNIFF_PMKID_CMD[] = "sniffpmkid [-c <channel>]";
|
|
const char PROGMEM HELP_STOPSCAN_CMD[] = "stopscan";
|
|
|
|
// WiFi attack
|
|
const char PROGMEM HELP_ATTACK_CMD[] = "attack -t <beacon [-l/-r/-a]/deauth [-s <src mac>] [-d <dst mac>]/probe/rickroll>";
|
|
|
|
// WiFi Aux
|
|
const char PROGMEM HELP_LIST_AP_CMD_A[] = "list -s";
|
|
const char PROGMEM HELP_LIST_AP_CMD_B[] = "list -a";
|
|
const char PROGMEM HELP_SEL_CMD_A[] = "select -a <index (comma separated)>";
|
|
const char PROGMEM HELP_SEL_CMD_B[] = "select -s <index (comma separated)>";
|
|
const char PROGMEM HELP_SSID_CMD_A[] = "ssid -a [-g <count>/-n <name>]";
|
|
const char PROGMEM HELP_SSID_CMD_B[] = "ssid -r <index>";
|
|
|
|
// Bluetooth sniff/scan
|
|
const char PROGMEM HELP_BT_SNIFF_CMD[] = "sniffbt";
|
|
const char PROGMEM HELP_BT_SKIM_CMD[] = "sniffskim";
|
|
const char PROGMEM HELP_FOOT[] = "==================================";
|
|
|
|
|
|
class CommandLine {
|
|
private:
|
|
String getSerialInput();
|
|
LinkedList<String> parseCommand(String input, char* delim);
|
|
void runCommand(String input);
|
|
bool checkValueExists(LinkedList<String>* cmd_args_list, int index);
|
|
bool inRange(int max, int index);
|
|
bool apSelected();
|
|
bool hasSSIDs();
|
|
int argSearch(LinkedList<String>* cmd_args, String key);
|
|
|
|
const char* ascii_art =
|
|
"\r\n"
|
|
" @@@@@@ \r\n"
|
|
" @@@@@@@@ \r\n"
|
|
" @@@@@@@@@@@ \r\n"
|
|
" @@@@@@ @@@@@@ \r\n"
|
|
" @@@@@@@ @@@@@@@ \r\n"
|
|
" @@@@@@ @@@@@@ \r\n"
|
|
" @@@@@@@ @@@@@@@ \r\n"
|
|
" @@@@@@ @@@@@@ \r\n"
|
|
"@@@@@@@ @@@@@@@@@@@@@@@@ \r\n"
|
|
"@@@@@ @@@@@@@@@@@@@@@ \r\n"
|
|
"@@@@@ @@@@@@@ \r\n"
|
|
"@@@@@ @@@@@@ \r\n"
|
|
"@@@@@@ @@@@@@@ \r\n"
|
|
" @@@@@@ @@@@@@@@@@@@\r\n"
|
|
" @@@@@@@ @@@@@@ \r\n"
|
|
" @@@@@@ @@@@@@ \r\n"
|
|
" @@@@@@@ @@@@@@ \r\n"
|
|
" @@@@@@ @@@@@@ \r\n"
|
|
" @@@@@@@ @@@@@@ \r\n"
|
|
" @@@@@@ @@@@@@ \r\n"
|
|
" @@@@@@@@@ \r\n"
|
|
" @@@@@@ \r\n"
|
|
" @@@@ \r\n"
|
|
"\r\n";
|
|
|
|
public:
|
|
CommandLine();
|
|
|
|
void RunSetup();
|
|
void main(uint32_t currentTime);
|
|
};
|
|
|
|
#endif
|