| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125 |
- #include "../wifi_marauder_app_i.h"
- static void wifi_marauder_scene_script_edit_callback(void* context, uint32_t index) {
- WifiMarauderApp* app = context;
- WifiMarauderScriptStage* current_stage = app->script->first_stage;
- uint32_t stage_index = 0;
- while(current_stage != NULL && stage_index < index) {
- current_stage = current_stage->next_stage;
- stage_index++;
- }
- app->script_edit_selected_stage = current_stage;
- if(app->script_edit_selected_stage != NULL) {
- scene_manager_set_scene_state(app->scene_manager, WifiMarauderSceneScriptEdit, index);
- scene_manager_next_scene(app->scene_manager, WifiMarauderSceneScriptStageEdit);
- }
- }
- static void wifi_marauder_scene_script_edit_add_callback(void* context, uint32_t index) {
- WifiMarauderApp* app = context;
- scene_manager_set_scene_state(app->scene_manager, WifiMarauderSceneScriptEdit, index);
- scene_manager_next_scene(app->scene_manager, WifiMarauderSceneScriptStageAdd);
- }
- void wifi_marauder_scene_script_edit_on_enter(void* context) {
- WifiMarauderApp* app = context;
- Submenu* submenu = app->submenu;
- WifiMarauderScript* script = app->script;
- submenu_set_header(submenu, script->name);
- WifiMarauderScriptStage* current_stage = script->first_stage;
- int stage_index = 0;
- while(current_stage != NULL) {
- switch(current_stage->type) {
- case WifiMarauderScriptStageTypeScan:
- submenu_add_item(
- submenu, "Scan", stage_index, wifi_marauder_scene_script_edit_callback, app);
- break;
- case WifiMarauderScriptStageTypeSelect:
- submenu_add_item(
- submenu, "Select", stage_index, wifi_marauder_scene_script_edit_callback, app);
- break;
- case WifiMarauderScriptStageTypeDeauth:
- submenu_add_item(
- submenu, "Deauth", stage_index, wifi_marauder_scene_script_edit_callback, app);
- break;
- case WifiMarauderScriptStageTypeProbe:
- submenu_add_item(
- submenu, "Probe", stage_index, wifi_marauder_scene_script_edit_callback, app);
- break;
- case WifiMarauderScriptStageTypeSniffRaw:
- submenu_add_item(
- submenu, "Sniff raw", stage_index, wifi_marauder_scene_script_edit_callback, app);
- break;
- case WifiMarauderScriptStageTypeSniffBeacon:
- submenu_add_item(
- submenu,
- "Sniff beacon",
- stage_index,
- wifi_marauder_scene_script_edit_callback,
- app);
- break;
- case WifiMarauderScriptStageTypeSniffDeauth:
- submenu_add_item(
- submenu,
- "Sniff deauth",
- stage_index,
- wifi_marauder_scene_script_edit_callback,
- app);
- break;
- case WifiMarauderScriptStageTypeSniffEsp:
- submenu_add_item(
- submenu, "Sniff esp", stage_index, wifi_marauder_scene_script_edit_callback, app);
- break;
- case WifiMarauderScriptStageTypeSniffPmkid:
- submenu_add_item(
- submenu, "Sniff PMKID", stage_index, wifi_marauder_scene_script_edit_callback, app);
- break;
- case WifiMarauderScriptStageTypeSniffPwn:
- submenu_add_item(
- submenu, "Sniff pwn", stage_index, wifi_marauder_scene_script_edit_callback, app);
- break;
- case WifiMarauderScriptStageTypeBeaconList:
- submenu_add_item(
- submenu, "Beacon list", stage_index, wifi_marauder_scene_script_edit_callback, app);
- break;
- case WifiMarauderScriptStageTypeBeaconAp:
- submenu_add_item(
- submenu, "Beacon AP", stage_index, wifi_marauder_scene_script_edit_callback, app);
- break;
- case WifiMarauderScriptStageTypeExec:
- submenu_add_item(
- submenu,
- "Custom command",
- stage_index,
- wifi_marauder_scene_script_edit_callback,
- app);
- break;
- case WifiMarauderScriptStageTypeDelay:
- submenu_add_item(
- submenu, "Delay", stage_index, wifi_marauder_scene_script_edit_callback, app);
- break;
- }
- current_stage = current_stage->next_stage;
- stage_index++;
- }
- submenu_add_item(
- submenu, "[+] ADD STAGE", stage_index++, wifi_marauder_scene_script_edit_add_callback, app);
- submenu_set_selected_item(
- submenu, scene_manager_get_scene_state(app->scene_manager, WifiMarauderSceneScriptEdit));
- view_dispatcher_switch_to_view(app->view_dispatcher, WifiMarauderAppViewSubmenu);
- }
- bool wifi_marauder_scene_script_edit_on_event(void* context, SceneManagerEvent event) {
- UNUSED(context);
- UNUSED(event);
- return false;
- }
- void wifi_marauder_scene_script_edit_on_exit(void* context) {
- WifiMarauderApp* app = context;
- submenu_reset(app->submenu);
- }
|