|
|
@@ -1,8 +1,11 @@
|
|
|
#include "../picopass_i.h"
|
|
|
+#include <furi_hal.h>
|
|
|
+
|
|
|
enum SubmenuIndex {
|
|
|
SubmenuIndexRead,
|
|
|
SubmenuIndexSaved,
|
|
|
SubmenuIndexLoclass,
|
|
|
+ SubmenuIndexNRMAC,
|
|
|
SubmenuIndexAcknowledgements,
|
|
|
SubmenuIndexKeygenAttack,
|
|
|
};
|
|
|
@@ -13,6 +16,8 @@ void picopass_scene_start_submenu_callback(void* context, uint32_t index) {
|
|
|
}
|
|
|
void picopass_scene_start_on_enter(void* context) {
|
|
|
Picopass* picopass = context;
|
|
|
+ // Reset on enter
|
|
|
+ picopass->auto_nr_mac = false;
|
|
|
|
|
|
Submenu* submenu = picopass->submenu;
|
|
|
submenu_add_item(
|
|
|
@@ -21,6 +26,10 @@ void picopass_scene_start_on_enter(void* context) {
|
|
|
submenu, "Saved", SubmenuIndexSaved, picopass_scene_start_submenu_callback, picopass);
|
|
|
submenu_add_item(
|
|
|
submenu, "Loclass", SubmenuIndexLoclass, picopass_scene_start_submenu_callback, picopass);
|
|
|
+ if(furi_hal_rtc_is_flag_set(FuriHalRtcFlagDebug)) {
|
|
|
+ submenu_add_item(
|
|
|
+ submenu, "NR-MAC", SubmenuIndexNRMAC, picopass_scene_start_submenu_callback, picopass);
|
|
|
+ }
|
|
|
submenu_add_item(
|
|
|
submenu,
|
|
|
"Acknowledgements",
|
|
|
@@ -59,12 +68,18 @@ bool picopass_scene_start_on_event(void* context, SceneManagerEvent event) {
|
|
|
consumed = true;
|
|
|
} else if(event.event == SubmenuIndexLoclass) {
|
|
|
scene_manager_set_scene_state(
|
|
|
- picopass->scene_manager, PicopassSceneStart, PicopassSceneLoclass);
|
|
|
+ picopass->scene_manager, PicopassSceneStart, SubmenuIndexLoclass);
|
|
|
scene_manager_next_scene(picopass->scene_manager, PicopassSceneLoclass);
|
|
|
consumed = true;
|
|
|
+ } else if(event.event == SubmenuIndexNRMAC) {
|
|
|
+ picopass->auto_nr_mac = true;
|
|
|
+ scene_manager_set_scene_state(
|
|
|
+ picopass->scene_manager, PicopassSceneStart, SubmenuIndexNRMAC);
|
|
|
+ scene_manager_next_scene(picopass->scene_manager, PicopassSceneEliteDictAttack);
|
|
|
+ consumed = true;
|
|
|
} else if(event.event == SubmenuIndexAcknowledgements) {
|
|
|
scene_manager_set_scene_state(
|
|
|
- picopass->scene_manager, PicopassSceneStart, PicopassSceneAcknowledgements);
|
|
|
+ picopass->scene_manager, PicopassSceneStart, SubmenuIndexAcknowledgements);
|
|
|
scene_manager_next_scene(picopass->scene_manager, PicopassSceneAcknowledgements);
|
|
|
consumed = true;
|
|
|
} else if(event.event == SubmenuIndexKeygenAttack) {
|