mifare_fuzzer_i.h 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. #pragma once
  2. #include <furi.h>
  3. #include <furi_hal.h>
  4. #include <gui/gui.h>
  5. #include <gui/view_dispatcher.h>
  6. #include <gui/scene_manager.h>
  7. #include <gui/modules/submenu.h>
  8. #include <dialogs/dialogs.h>
  9. #include <input/input.h>
  10. #include <toolbox/stream/stream.h>
  11. //#include <toolbox/stream/string_stream.h>
  12. //#include <toolbox/stream/file_stream.h>
  13. #include <toolbox/stream/buffered_file_stream.h>
  14. #include "mifare_fuzzer.h"
  15. #include "scenes/mifare_fuzzer_scene.h"
  16. #include "views/mifare_fuzzer_emulator.h"
  17. #include "mifare_fuzzer_worker.h"
  18. #define TAG "MifareFuzzerApp"
  19. #define MIFARE_FUZZER_APP_FOLDER EXT_PATH("mifare_fuzzer")
  20. #define MIFARE_FUZZER_FILE_EXT ".txt"
  21. #define MIFARE_FUZZER_TICK_PERIOD 200
  22. #define MIFARE_FUZZER_DEFAULT_TICKS_BETWEEN_CARDS 10
  23. #define MIFARE_FUZZER_MIN_TICKS_BETWEEN_CARDS 5
  24. #define MIFARE_FUZZER_MAX_TICKS_BETWEEN_CARDS 50
  25. typedef enum MifareFuzzerSceneState {
  26. MifareFuzzerSceneStateClassic1k,
  27. MifareFuzzerSceneStateClassic4k,
  28. MifareFuzzerSceneStateUltralight,
  29. } MifareFuzzerSceneState;
  30. typedef enum {
  31. MifareFuzzerViewSelectCard,
  32. MifareFuzzerViewSelectAttack,
  33. MifareFuzzerViewEmulator,
  34. } MifareFuzzerView;
  35. struct MifareFuzzerApp {
  36. Gui* gui;
  37. ViewDispatcher* view_dispatcher;
  38. SceneManager* scene_manager;
  39. DialogsApp* dialogs;
  40. Storage* storage;
  41. // Common Views
  42. Submenu* submenu_card;
  43. Submenu* submenu_attack;
  44. MifareFuzzerEmulator* emulator_view;
  45. MifareFuzzerWorker* worker;
  46. MifareCard card;
  47. MifareFuzzerAttack attack;
  48. FuriHalNfcDevData nfc_dev_data;
  49. FuriString* app_folder;
  50. FuriString* file_path;
  51. FuriString* uid_str;
  52. Stream* uids_stream;
  53. };