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

Add Pyramid, Keri, and Jablotron to RFID Fuzzer #441

Merged
merged 1 commit into from
Nov 4, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
Loading