mifare_fuzzer_worker.h 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. #pragma once
  2. #include <furi.h>
  3. #include <furi_hal.h>
  4. #include <nfc/nfc_device.h>
  5. #include <nfc/nfc_listener.h>
  6. #include <nfc/protocols/iso14443_3a/iso14443_3a.h>
  7. typedef enum MifareFuzzerWorkerState {
  8. MifareFuzzerWorkerStateEmulate,
  9. MifareFuzzerWorkerStateStop,
  10. } MifareFuzzerWorkerState;
  11. #define UID_LEN 7
  12. #define ATQA_LEN 2
  13. typedef struct MifareFuzzerWorker {
  14. FuriThread* thread;
  15. MifareFuzzerWorkerState state;
  16. Iso14443_3aData nfc_data;
  17. NfcListener* nfc_listener;
  18. NfcDevice* nfc_device;
  19. Nfc* nfc;
  20. } MifareFuzzerWorker;
  21. // worker
  22. MifareFuzzerWorker* mifare_fuzzer_worker_alloc();
  23. void mifare_fuzzer_worker_free(MifareFuzzerWorker* mifare_fuzzer_worker);
  24. void mifare_fuzzer_worker_stop(MifareFuzzerWorker* mifare_fuzzer_worker);
  25. void mifare_fuzzer_worker_start(MifareFuzzerWorker* mifare_fuzzer_worker);
  26. // task
  27. int32_t mifare_fuzzer_worker_task(void* context);
  28. //
  29. bool mifare_fuzzer_worker_is_emulating(MifareFuzzerWorker* mifare_fuzzer_worker);
  30. void mifare_fuzzer_worker_set_nfc_data(
  31. MifareFuzzerWorker* mifare_fuzzer_worker,
  32. Iso14443_3aData nfc_data);
  33. Iso14443_3aData mifare_fuzzer_worker_get_nfc_data(MifareFuzzerWorker* mifare_fuzzer_worker);