From ffc01d9a2a6693cb8f4824f76cd429f7c8007376 Mon Sep 17 00:00:00 2001 From: Spacehuhn Date: Tue, 8 Dec 2020 12:30:09 +0100 Subject: [PATCH] Command demo on/off to hide MAC addresses --- esp8266_deauther/cli.cpp | 18 ++++++++++++++++++ esp8266_deauther/strh.cpp | 17 ++++++++++++++--- esp8266_deauther/strh.h | 1 + 3 files changed, 33 insertions(+), 3 deletions(-) diff --git a/esp8266_deauther/cli.cpp b/esp8266_deauther/cli.cpp index b589e9a..0ccc399 100644 --- a/esp8266_deauther/cli.cpp +++ b/esp8266_deauther/cli.cpp @@ -1570,6 +1570,24 @@ namespace cli { " -h: Hidden network\r\n" " -ch: Channel (default=1)\r\n" " -b: BSSID MAC address (default=random)"); + + Command cmd_demo = cli.addCommand("demo", [](cmd* c) { + Command cmd(c); + + String mode { cmd.getArg("m").getValue() }; + + if (mode == "on") { + strh::hide_mac(true); + debugln("Demo Mode: ACTIVATED"); + } else { + strh::hide_mac(false); + debugln("Demo Mode: DEACTIVATED"); + } + }); + cmd_demo.addPosArg("m/ode", "on"); + cmd_demo.setDescription(" Demo mode\r\n" + " on: turn on demo mode\r\n" + " off: turn off demo mode"); } void parse(const char* input) { diff --git a/esp8266_deauther/strh.cpp b/esp8266_deauther/strh.cpp index 2a01510..3b097ca 100644 --- a/esp8266_deauther/strh.cpp +++ b/esp8266_deauther/strh.cpp @@ -7,6 +7,12 @@ #include "strh.h" namespace strh { + bool hidden { false }; + + void hide_mac(bool mode) { + hidden = mode; + } + String whitespace(int len) { String res; @@ -64,8 +70,13 @@ namespace strh { for (int i = 0; i < len; i++) { if (i>0) str += ':'; - if (b[i] < 0x10) str += '0'; - str += String(b[i], HEX); + if (hidden && (i>=2) && (i<=4)) { + str += '*'; + str += '*'; + } else { + if (b[i] < 0x10) str += '0'; + str += String(b[i], HEX); + } } return str; @@ -129,7 +140,7 @@ namespace strh { } String boolean(bool value) { - if(value) { + if (value) { return String(F("True")); } else { return String(F("False")); diff --git a/esp8266_deauther/strh.h b/esp8266_deauther/strh.h index 956f5be..71e9bc9 100644 --- a/esp8266_deauther/strh.h +++ b/esp8266_deauther/strh.h @@ -9,6 +9,7 @@ #include // String namespace strh { + void hide_mac(bool mode); String whitespace(int len); String left(int len, String str); String right(int len, String str);