_protocols.h 830 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. #pragma once
  2. #include "continuity.h"
  3. #include "easysetup.h"
  4. #include "fastpair.h"
  5. #include "lovespouse.h"
  6. #include "nameflood.h"
  7. #include "swiftpair.h"
  8. typedef enum {
  9. PayloadModeRandom,
  10. PayloadModeValue,
  11. PayloadModeBruteforce,
  12. } PayloadMode;
  13. struct Payload {
  14. bool random_mac;
  15. PayloadMode mode;
  16. struct {
  17. uint8_t counter;
  18. uint32_t value;
  19. uint8_t size;
  20. } bruteforce;
  21. union {
  22. ContinuityCfg continuity;
  23. EasysetupCfg easysetup;
  24. FastpairCfg fastpair;
  25. LovespouseCfg lovespouse;
  26. NamefloodCfg nameflood;
  27. SwiftpairCfg swiftpair;
  28. } cfg;
  29. };
  30. extern const Protocol* protocols[];
  31. extern const size_t protocols_count;
  32. struct Attack {
  33. const char* title;
  34. const char* text;
  35. const Protocol* protocol;
  36. Payload payload;
  37. };