From ec4720d37695b029d709b59260d69fdf336e8d21 Mon Sep 17 00:00:00 2001 From: SkeletonMan03 Date: Thu, 2 Nov 2023 22:42:32 -0500 Subject: [PATCH] Added Paradox, Indala26, and Viking to RFID Fuzzer --- .../multi_fuzzer/lib/worker/protocol.c | 84 +++++++++++++++++++ 1 file changed, 84 insertions(+) diff --git a/applications/external/multi_fuzzer/lib/worker/protocol.c b/applications/external/multi_fuzzer/lib/worker/protocol.c index 086f60b0a6..42df99e3ff 100644 --- a/applications/external/multi_fuzzer/lib/worker/protocol.c +++ b/applications/external/multi_fuzzer/lib/worker/protocol.c @@ -76,6 +76,9 @@ const uint8_t uid_list_cyfral[][Cyfral_DATA_SIZE] = { #define PAC_DATA_SIZE (4) #define H10301_DATA_SIZE (3) #define IOPROXXSF_DATA_SIZE (4) +#define PARADOX_DATA_SIZE (6) +#define INDALA26_DATA_SIZE (4) +#define VIKING_DATA_SIZE (4) const uint8_t uid_list_em4100[][EM4100_DATA_SIZE] = { {0x00, 0x00, 0x00, 0x00, 0x00}, // Null bytes @@ -171,6 +174,57 @@ const uint8_t uid_list_ioproxxsf[][IOPROXXSF_DATA_SIZE] = { {0xCA, 0xCA, 0xCA, 0xCA}, // From arha }; +const uint8_t uid_list_paradox[][PARADOX_DATA_SIZE] = { + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, // Null bytes + {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}, //Only FF + {0x11, 0x11, 0x11, 0x11, 0x11, 0x11}, // Only 11 + {0x22, 0x22, 0x22, 0x22, 0x22, 0x22}, // Only 22 + {0x33, 0x33, 0x33, 0x33, 0x33, 0x33}, // Only 33 + {0x44, 0x44, 0x44, 0x44, 0x44, 0x44}, // Only 44 + {0x55, 0x55, 0x55, 0x55, 0x55, 0x55}, //Only 55 + {0x66, 0x66, 0x66, 0x66, 0x66, 0x66}, // Only 66 + {0x77, 0x77, 0x77, 0x77, 0x77, 0x77}, // Only 77 + {0x88, 0x88, 0x88, 0x88, 0x88, 0x88}, // Only 88 + {0x99, 0x99, 0x99, 0x99, 0x99, 0x99}, //Only 99 + {0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC}, // Incremental UID + {0xFF, 0xDE, 0xBC, 0x9A, 0x78, 0x56}, // Decremental UID + {0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA}, // From arha +}; + +const uint8_t uid_list_indala26[][INDALA26_DATA_SIZE] = { + {0x00, 0x00, 0x00, 0x00}, // Null bytes + {0xFF, 0xFF, 0xFF, 0xFF}, //Only FF + {0x11, 0x11, 0x11, 0x11}, // Only 11 + {0x22, 0x22, 0x22, 0x22}, // Only 22 + {0x33, 0x33, 0x33, 0x33}, // Only 33 + {0x44, 0x44, 0x44, 0x44}, // Only 44 + {0x55, 0x55, 0x55, 0x55}, //Only 55 + {0x66, 0x66, 0x66, 0x66}, // Only 66 + {0x77, 0x77, 0x77, 0x77}, // Only 77 + {0x88, 0x88, 0x88, 0x88}, // Only 88 + {0x99, 0x99, 0x99, 0x99}, //Only 99 + {0x12, 0x34, 0x56, 0x78}, // Incremental UID + {0xFF, 0xDE, 0xBC, 0x9A}, // Decremental UID + {0xCA, 0xCA, 0xCA, 0xCA}, // From arha +}; + +const uint8_t uid_list_viking[][VIKING_DATA_SIZE] = { + {0x00, 0x00, 0x00, 0x00}, // Null bytes + {0xFF, 0xFF, 0xFF, 0xFF}, //Only FF + {0x11, 0x11, 0x11, 0x11}, // Only 11 + {0x22, 0x22, 0x22, 0x22}, // Only 22 + {0x33, 0x33, 0x33, 0x33}, // Only 33 + {0x44, 0x44, 0x44, 0x44}, // Only 44 + {0x55, 0x55, 0x55, 0x55}, //Only 55 + {0x66, 0x66, 0x66, 0x66}, // Only 66 + {0x77, 0x77, 0x77, 0x77}, // Only 77 + {0x88, 0x88, 0x88, 0x88}, // Only 88 + {0x99, 0x99, 0x99, 0x99}, //Only 99 + {0x12, 0x34, 0x56, 0x78}, // Incremental UID + {0xFF, 0xDE, 0xBC, 0x9A}, // Decremental UID + {0xCA, 0xCA, 0xCA, 0xCA}, // From arha +}; + #if defined(RFID_125_PROTOCOL) const FuzzerProtocol fuzzer_proto_items[] = { // EM4100 @@ -223,6 +277,36 @@ const FuzzerProtocol fuzzer_proto_items[] = { .len = COUNT_OF(uid_list_ioproxxsf), }, }, + // Paradox + { + .name = "Paradox", + .data_size = PARADOX_DATA_SIZE, + .dict = + { + .val = (const uint8_t*)&uid_list_paradox, + .len = COUNT_OF(uid_list_paradox), + }, + }, + // Indala26 + { + .name = "Indala26", + .data_size = INDALA26_DATA_SIZE, + .dict = + { + .val = (const uint8_t*)&uid_list_indala26, + .len = COUNT_OF(uid_list_indala26), + }, + }, + // Viking + { + .name = "Viking", + .data_size = VIKING_DATA_SIZE, + .dict = + { + .val = (const uint8_t*)&uid_list_viking, + .len = COUNT_OF(uid_list_viking), + }, + }, }; #else const FuzzerProtocol fuzzer_proto_items[] = {