mifare_fuzzer_i.h 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  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. FuriString* app_folder;
  49. FuriString* file_path;
  50. FuriString* uid_str;
  51. Stream* uids_stream;
  52. };