Skip to content

Commit

Permalink
refactor: deauth & DOS working over new menus system
Browse files Browse the repository at this point in the history
  • Loading branch information
Otrebor671 committed Aug 18, 2024
1 parent 6eca794 commit 93ad638
Show file tree
Hide file tree
Showing 7 changed files with 48 additions and 41 deletions.
3 changes: 1 addition & 2 deletions firmware/main/apps/wifi/deauth/deauth_module.c
Original file line number Diff line number Diff line change
Expand Up @@ -208,8 +208,7 @@ static void deauth_module_cb_event(uint8_t button_name, uint8_t button_event) {
case BUTTON_LEFT:
wifi_scanner_clear_ap_records();
printf("Exit deauth: %d\n", current_item);
menus_module_set_app_state(false, NULL);
menu_screens_exit_submenu();
menus_module_exit_app();
// led_control_stop();
break;
default:
Expand Down
3 changes: 1 addition & 2 deletions firmware/main/modules/cat_dos/catdos_module.c
Original file line number Diff line number Diff line change
Expand Up @@ -592,8 +592,7 @@ static void catdos_module_state_machine(uint8_t button_name,
case CATDOS_STATE_CONFIG_WIFI: {
switch (button_name) {
case BUTTON_LEFT:
menus_module_set_app_state(false, NULL);
menu_screens_exit_submenu();
menus_module_exit_app();
break;
case BUTTON_RIGHT:
ESP_LOGI(CATDOS_TAG, "Selected item: %d", selected_item);
Expand Down
16 changes: 0 additions & 16 deletions firmware/main/modules/keyboard/keyboard_module.c
Original file line number Diff line number Diff line change
Expand Up @@ -12,17 +12,6 @@ esp_timer_handle_t idle_timer;
static bool is_idle = false;
static bool lock_input = false;

void timer_callback() {
screen_module_menu_t menu = menu_screens_get_current_menu();
if (menu == MENU_WIFI_ANALYZER_RUN || menu == MENU_WIFI_ANALYZER_SUMMARY ||
menu == MENU_GPS_DATE_TIME || menu == MENU_GPS_LOCATION ||
menu == MENU_GPS_SPEED) {
return;
}

is_idle = true;
screen_saver_run();
}
void keyboard_module_reset_idle_timer() {
esp_timer_stop(idle_timer);
esp_timer_start_once(idle_timer, IDLE_TIMEOUT_S * 1000 * 1000);
Expand Down Expand Up @@ -123,9 +112,4 @@ void keyboard_module_begin() {
button_init(RIGHT_BUTTON_PIN, RIGHT_BUTTON_MASK);
button_init(UP_BUTTON_PIN, UP_BUTTON_MASK);
button_init(DOWN_BUTTON_PIN, DOWN_BUTTON_MASK);
esp_timer_create_args_t timer_args = {.callback = timer_callback,
.arg = NULL,

.name = "one_shot_timer"};
esp_err_t err = esp_timer_create(&timer_args, &idle_timer);
}
2 changes: 0 additions & 2 deletions firmware/main/modules/menu_screens/menu_screens_modules.h
Original file line number Diff line number Diff line change
Expand Up @@ -192,6 +192,4 @@ void menu_screens_update_options(char* options[], uint8_t selected_option);
* @return void
*/
void screen_module_set_screen(int current_menu);

static void screen_saver_run();
void stop_screen_saver();
17 changes: 10 additions & 7 deletions firmware/main/modules/menus_module/menus.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,15 @@
#include "apps/ble/hid_device/hid_module.h"
#include "apps/ble/trackers/trackers_module.h"

#include "catdos_module.h"
#include "deauth_module.h"
#include "display_settings.h"
#include "file_manager_module.h"
#include "open_thread_module.h"
#include "ota_module.h"
#include "stealth_mode.h"
#include "web_file_browser_module.h"
#include "wifi_module.h"
#include "zigbee_module.h"

typedef enum {
Expand Down Expand Up @@ -172,15 +175,15 @@ menu_t menus[] = { //////////////////////////////////
.menu_idx = MENU_WIFI_ANALIZER_2,
.parent_idx = MENU_WIFI_APPS_2,
.last_selected_submenu = 0,
.on_enter_cb = NULL,
.on_exit_cb = NULL,
.on_enter_cb = wifi_module_analizer_begin,
.on_exit_cb = wifi_module_analizer_exit,
.is_visible = true},
{.display_name = "Start",
.menu_idx = MENU_WIFI_ANALYZER_RUN_2,
.parent_idx = MENU_WIFI_ANALIZER_2,
.last_selected_submenu = 0,
.on_enter_cb = NULL,
.on_exit_cb = NULL,
.on_enter_cb = wifi_module_init_sniffer,
.on_exit_cb = wifi_module_analyzer_run_exit,
.is_visible = true},
{.display_name = "Settings",
.menu_idx = MENU_WIFI_ANALYZER_SETTINGS_2,
Expand All @@ -201,7 +204,7 @@ menu_t menus[] = { //////////////////////////////////
.parent_idx = MENU_WIFI_ANALYZER_SETTINGS_2,
.last_selected_submenu = 0,
.on_enter_cb = NULL,
.on_exit_cb = NULL,
.on_exit_cb = wifi_module_analyzer_destination_exit,
.is_visible = true},
{.display_name = "Help",
.menu_idx = MENU_WIFI_ANALYZER_HELP_2,
Expand All @@ -216,7 +219,7 @@ menu_t menus[] = { //////////////////////////////////
.menu_idx = MENU_WIFI_DEAUTH_2,
.parent_idx = MENU_WIFI_APPS_2,
.last_selected_submenu = 0,
.on_enter_cb = NULL,
.on_enter_cb = deauth_module_begin,
.on_exit_cb = NULL,
.is_visible = true},
#endif
Expand All @@ -225,7 +228,7 @@ menu_t menus[] = { //////////////////////////////////
.menu_idx = MENU_WIFI_DOS_2,
.parent_idx = MENU_WIFI_APPS_2,
.last_selected_submenu = 0,
.on_enter_cb = NULL,
.on_enter_cb = catdos_module_begin,
.on_exit_cb = NULL,
.is_visible = true},
#endif
Expand Down
35 changes: 30 additions & 5 deletions firmware/main/modules/wifi/wifi_module.c
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,15 @@
#include "string.h"

#include "apps/wifi/deauth/include/deauth_module.h"
#include "captive_portal.h"
#include "led_events.h"
#include "menu_screens_modules.h"
#include "modules/wifi/wifi_module.h"
#include "menus_module.h"
#include "modules/wifi/wifi_screens_module.h"
#include "oled_screen.h"
#include "sd_card.h"
#include "wifi_attacks.h"
#include "wifi_controller.h"
#include "wifi_module.h"
#include "wifi_scanner.h"

static const char* TAG = "wifi_module";
Expand Down Expand Up @@ -115,6 +115,34 @@ void wifi_module_init_sniffer() {
led_control_run_effect(led_control_zigbee_scanning);
}

void wifi_module_analyzer_run_exit() {
wifi_sniffer_stop();
led_control_stop();
wifi_sniffer_load_summary();
}

void wifi_module_analizer_summary_exit() {
wifi_sniffer_close_file();
}

void wifi_module_analizer_exit() {
menus_module_set_reset_screen(MENU_WIFI_APPS_2);
esp_restart();
}

void wifi_module_analyzer_destination_exit() {
if (wifi_sniffer_is_destination_sd()) {
// Verify if the SD card is inserted
sd_card_unmount();
if (sd_card_mount() == ESP_OK) {
vTaskDelay(100 / portTICK_PERIOD_MS);
sd_card_unmount();
} else {
wifi_sniffer_set_destination_internal();
}
}
}

void wifi_module_exit_submenu_cb() {
screen_module_menu_t current_menu = menu_screens_get_current_menu();

Expand All @@ -123,9 +151,6 @@ void wifi_module_exit_submenu_cb() {
menu_screens_unregister_submenu_cbs();
break;
case MENU_WIFI_ANALYZER_RUN:
wifi_sniffer_stop();
led_control_stop();
wifi_sniffer_load_summary();
break;
case MENU_WIFI_ANALYZER_ASK_SUMMARY:
oled_screen_clear();
Expand Down
13 changes: 6 additions & 7 deletions firmware/main/modules/wifi/wifi_module.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,25 +11,24 @@
*/
void wifi_module_begin();

/**
* @brief Initialize the wifi module
*
* @return void
*/
void wifi_module_deauth_begin();

/**
* @brief Initialize the wifi module
*
* @return void
*/
void wifi_module_analizer_begin();

void wifi_module_init_sniffer();

/**
* @brief Stop the wifi module
*
*/
void wifi_module_exit(void);
void wifi_module_analyzer_run_exit();
void wifi_module_analizer_exit();
void wifi_module_analizer_summary_exit();
void wifi_module_analyzer_destination_exit();

/**
* @brief Callback to show the summary of the wifi analizer
Expand Down

0 comments on commit 93ad638

Please sign in to comment.