Skip to content
This repository has been archived by the owner on Jul 28, 2024. It is now read-only.

Commit

Permalink
Add Pyramid, Keri, and Jablotron to RFID Fuzzer (#441)
Browse files Browse the repository at this point in the history
  • Loading branch information
Willy-JL authored Nov 4, 2023
2 parents dc5817b + e74847a commit 673163f
Showing 1 changed file with 93 additions and 9 deletions.
102 changes: 93 additions & 9 deletions applications/external/multi_fuzzer/lib/worker/protocol.c
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,9 @@ const uint8_t uid_list_cyfral[][Cyfral_DATA_SIZE] = {
#define PARADOX_DATA_SIZE (6)
#define INDALA26_DATA_SIZE (4)
#define VIKING_DATA_SIZE (4)
#define PYRAMID_DATA_SIZE (4)
#define KERI_DATA_SIZE (4)
#define JABLOTRON_DATA_SIZE (5)

const uint8_t uid_list_em4100[][EM4100_DATA_SIZE] = {
{0x00, 0x00, 0x00, 0x00, 0x00}, // Null bytes
Expand Down Expand Up @@ -176,55 +179,106 @@ const uint8_t uid_list_ioproxxsf[][IOPROXXSF_DATA_SIZE] = {

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
{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
{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
{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
{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
{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
{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
{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_pyramid[][PYRAMID_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
{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
{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_keri[][KERI_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_jablotron[][JABLOTRON_DATA_SIZE] = {
{0x00, 0x00, 0x00, 0x00, 0x00}, // Null bytes
{0xFF, 0xFF, 0xFF, 0xFF, 0xFF}, // Only FF
{0x11, 0x11, 0x11, 0x11, 0x11}, // Only 11
{0x22, 0x22, 0x22, 0x22, 0x22}, // Only 22
{0x33, 0x33, 0x33, 0x33, 0x33}, // Only 33
{0x44, 0x44, 0x44, 0x44, 0x44}, // Only 44
{0x55, 0x55, 0x55, 0x55, 0x55}, // Only 55
{0x66, 0x66, 0x66, 0x66, 0x66}, // Only 66
{0x77, 0x77, 0x77, 0x77, 0x77}, // Only 77
{0x88, 0x88, 0x88, 0x88, 0x88}, // Only 88
{0x99, 0x99, 0x99, 0x99, 0x99}, // Only 99
{0x12, 0x34, 0x56, 0x78, 0x9A}, // Incremental UID
{0xFF, 0xDE, 0xBC, 0x9A, 0x78}, // Decremental UID
{0xCA, 0xCA, 0xCA, 0xCA, 0xCA}, // From arha
};

#if defined(RFID_125_PROTOCOL)
const FuzzerProtocol fuzzer_proto_items[] = {
// EM4100
Expand Down Expand Up @@ -307,6 +361,36 @@ const FuzzerProtocol fuzzer_proto_items[] = {
.len = COUNT_OF(uid_list_viking),
},
},
// Pyramid
{
.name = "Pyramid",
.data_size = PYRAMID_DATA_SIZE,
.dict =
{
.val = (const uint8_t*)&uid_list_pyramid,
.len = COUNT_OF(uid_list_pyramid),
},
},
// Keri
{
.name = "Keri",
.data_size = KERI_DATA_SIZE,
.dict =
{
.val = (const uint8_t*)&uid_list_keri,
.len = COUNT_OF(uid_list_keri),
},
},
// Jablotron
{
.name = "Jablotron",
.data_size = JABLOTRON_DATA_SIZE,
.dict =
{
.val = (const uint8_t*)&uid_list_jablotron,
.len = COUNT_OF(uid_list_jablotron),
},
},
};
#else
const FuzzerProtocol fuzzer_proto_items[] = {
Expand Down

0 comments on commit 673163f

Please sign in to comment.