mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-08-19 21:03:48 -07:00
CHG: macro T5555_SET_BITRATE is used for clearity
This commit is contained in:
parent
3c2fa8d4f3
commit
0a58e8f0fe
11 changed files with 15 additions and 28 deletions
|
@ -1449,7 +1449,7 @@ void CopyIndala224toT55x7(uint32_t uid1, uint32_t uid2, uint32_t uid3, uint32_t
|
||||||
//Config for Indala (RF/32;PSK1 with RF/2;Maxblock=7)
|
//Config for Indala (RF/32;PSK1 with RF/2;Maxblock=7)
|
||||||
data[0] = T55x7_BITRATE_RF_32 | T55x7_MODULATION_PSK1 | (7 << T55x7_MAXBLOCK_SHIFT);
|
data[0] = T55x7_BITRATE_RF_32 | T55x7_MODULATION_PSK1 | (7 << T55x7_MAXBLOCK_SHIFT);
|
||||||
//TODO add selection of chip for Q5 or T55x7
|
//TODO add selection of chip for Q5 or T55x7
|
||||||
// data[0] = (((32-2)>>1) << T5555_BITRATE_SHIFT) | T5555_MODULATION_PSK1 | 7 << T5555_MAXBLOCK_SHIFT;
|
// data[0] = T5555_SET_BITRATE(32 | T5555_MODULATION_PSK1 | 7 << T5555_MAXBLOCK_SHIFT;
|
||||||
WriteT55xx(data, 0, 8);
|
WriteT55xx(data, 0, 8);
|
||||||
//Alternative config for Indala (Extended mode;RF/32;PSK1 with RF/2;Maxblock=7;Inverse data)
|
//Alternative config for Indala (Extended mode;RF/32;PSK1 with RF/2;Maxblock=7;Inverse data)
|
||||||
// T5567WriteBlock(0x603E10E2,0);
|
// T5567WriteBlock(0x603E10E2,0);
|
||||||
|
|
|
@ -416,7 +416,7 @@ int CmdAWIDClone(const char *Cmd) {
|
||||||
|
|
||||||
if (param_getchar(Cmd, 3) == 'Q' || param_getchar(Cmd, 3) == 'q')
|
if (param_getchar(Cmd, 3) == 'Q' || param_getchar(Cmd, 3) == 'q')
|
||||||
//t5555 (Q5) BITRATE = (RF-2)/2 (iceman)
|
//t5555 (Q5) BITRATE = (RF-2)/2 (iceman)
|
||||||
blocks[0] = T5555_MODULATION_FSK2 | T5555_INVERT_OUTPUT | ((50-2)>>1) << T5555_BITRATE_SHIFT | 3<<T5555_MAXBLOCK_SHIFT;
|
blocks[0] = T5555_MODULATION_FSK2 | T5555_INVERT_OUTPUT | T5555_SET_BITRATE(50) | 3<<T5555_MAXBLOCK_SHIFT;
|
||||||
|
|
||||||
verify_values(&fmtlen, &fc, &cn);
|
verify_values(&fmtlen, &fc, &cn);
|
||||||
|
|
||||||
|
|
|
@ -324,10 +324,8 @@ int CmdFdxClone(const char *Cmd) {
|
||||||
animalid = param_get64ex(Cmd, 1, 0, 10);
|
animalid = param_get64ex(Cmd, 1, 0, 10);
|
||||||
|
|
||||||
//Q5
|
//Q5
|
||||||
if (param_getchar(Cmd, 2) == 'Q' || param_getchar(Cmd, 2) == 'q') {
|
if (param_getchar(Cmd, 2) == 'Q' || param_getchar(Cmd, 2) == 'q')
|
||||||
//t5555 (Q5) BITRATE = (RF-2)/2 (iceman)
|
blocks[0] = T5555_MODULATION_BIPHASE | T5555_INVERT_OUTPUT | T5555_SET_BITRATE(32) | 4 << T5555_MAXBLOCK_SHIFT;
|
||||||
blocks[0] = T5555_MODULATION_BIPHASE | T5555_INVERT_OUTPUT | ((32-2)>>1) << T5555_BITRATE_SHIFT | 4 << T5555_MAXBLOCK_SHIFT;
|
|
||||||
}
|
|
||||||
|
|
||||||
verify_values(countryid, animalid);
|
verify_values(countryid, animalid);
|
||||||
|
|
||||||
|
|
|
@ -250,8 +250,7 @@ int CmdGuardClone(const char *Cmd) {
|
||||||
uint32_t blocks[5] = {T55x7_MODULATION_BIPHASE | T55x7_BITRATE_RF_64 | 3 << T55x7_MAXBLOCK_SHIFT, 0, 0, 0, 0};
|
uint32_t blocks[5] = {T55x7_MODULATION_BIPHASE | T55x7_BITRATE_RF_64 | 3 << T55x7_MAXBLOCK_SHIFT, 0, 0, 0, 0};
|
||||||
|
|
||||||
if (param_getchar(Cmd, 3) == 'Q' || param_getchar(Cmd, 3) == 'q')
|
if (param_getchar(Cmd, 3) == 'Q' || param_getchar(Cmd, 3) == 'q')
|
||||||
//t5555 (Q5) BITRATE = (RF-2)/2 (iceman)
|
blocks[0] = T5555_MODULATION_FSK2 | T5555_SET_BITRATE(50) | 3 << T5555_MAXBLOCK_SHIFT;
|
||||||
blocks[0] = T5555_MODULATION_FSK2 | ((50-2)>>1) << T5555_BITRATE_SHIFT | 3 << T5555_MAXBLOCK_SHIFT;
|
|
||||||
|
|
||||||
if (sscanf(Cmd, "%u %u %u", &fmtlen, &fc, &cn ) != 3) return usage_lf_guard_clone();
|
if (sscanf(Cmd, "%u %u %u", &fmtlen, &fc, &cn ) != 3) return usage_lf_guard_clone();
|
||||||
|
|
||||||
|
|
|
@ -312,8 +312,7 @@ int CmdIOProxClone(const char *Cmd) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (param_getchar(Cmd, 3) == 'Q' || param_getchar(Cmd, 3) == 'q')
|
if (param_getchar(Cmd, 3) == 'Q' || param_getchar(Cmd, 3) == 'q')
|
||||||
//t5555 (Q5) BITRATE = (RF-2)/2 (iceman)
|
blocks[0] = T5555_MODULATION_FSK2 | T5555_INVERT_OUTPUT | T5555_SET_BITRATE(50) | 2 << T5555_MAXBLOCK_SHIFT;
|
||||||
blocks[0] = T5555_MODULATION_FSK2 | T5555_INVERT_OUTPUT | ((50-2)>>1) << T5555_BITRATE_SHIFT | 2 << T5555_MAXBLOCK_SHIFT;
|
|
||||||
|
|
||||||
if ( !getIOProxBits(version, fc, cn, bs)) {
|
if ( !getIOProxBits(version, fc, cn, bs)) {
|
||||||
PrintAndLog("Error with tag bitstream generation.");
|
PrintAndLog("Error with tag bitstream generation.");
|
||||||
|
|
|
@ -163,10 +163,8 @@ int CmdJablotronClone(const char *Cmd) {
|
||||||
fullcode = param_get64ex(Cmd, 0, 0, 16);
|
fullcode = param_get64ex(Cmd, 0, 0, 16);
|
||||||
|
|
||||||
//Q5
|
//Q5
|
||||||
if (param_getchar(Cmd, 1) == 'Q' || param_getchar(Cmd, 1) == 'q') {
|
if (param_getchar(Cmd, 1) == 'Q' || param_getchar(Cmd, 1) == 'q')
|
||||||
//t5555 (Q5) BITRATE = (RF-2)/2 (iceman)
|
blocks[0] = T5555_MODULATION_BIPHASE | T5555_INVERT_OUTPUT | T5555_SET_BITRATE(64) | 2 << T5555_MAXBLOCK_SHIFT;
|
||||||
blocks[0] = T5555_MODULATION_BIPHASE | T5555_INVERT_OUTPUT | ((64-2)>>1) << T5555_BITRATE_SHIFT | 2 << T5555_MAXBLOCK_SHIFT;
|
|
||||||
}
|
|
||||||
|
|
||||||
// clearing the topbit needed for the preambl detection.
|
// clearing the topbit needed for the preambl detection.
|
||||||
if ((fullcode & 0x7FFFFFFFFF) != fullcode) {
|
if ((fullcode & 0x7FFFFFFFFF) != fullcode) {
|
||||||
|
|
|
@ -245,8 +245,7 @@ int CmdLFNedapClone(const char *Cmd) {
|
||||||
blocks[0] = T55x7_MODULATION_DIPHASE | T55x7_BITRATE_RF_64 | 7 << T55x7_MAXBLOCK_SHIFT;
|
blocks[0] = T55x7_MODULATION_DIPHASE | T55x7_BITRATE_RF_64 | 7 << T55x7_MAXBLOCK_SHIFT;
|
||||||
|
|
||||||
if (param_getchar(Cmd, 3) == 'Q' || param_getchar(Cmd, 3) == 'q')
|
if (param_getchar(Cmd, 3) == 'Q' || param_getchar(Cmd, 3) == 'q')
|
||||||
//t5555 (Q5) BITRATE = (RF-2)/2 (iceman)
|
blocks[0] = T5555_MODULATION_BIPHASE | T5555_INVERT_OUTPUT | T5555_SET_BITRATE(64) | 7 <<T5555_MAXBLOCK_SHIFT;
|
||||||
blocks[0] = T5555_MODULATION_BIPHASE | T5555_INVERT_OUTPUT | ((64-2)>>1) << T5555_BITRATE_SHIFT | 7 <<T5555_MAXBLOCK_SHIFT;
|
|
||||||
|
|
||||||
blocks[1] = bytebits_to_byte(bs,32);
|
blocks[1] = bytebits_to_byte(bs,32);
|
||||||
blocks[2] = bytebits_to_byte(bs+32,32);
|
blocks[2] = bytebits_to_byte(bs+32,32);
|
||||||
|
|
|
@ -185,10 +185,8 @@ int CmdNoralsyClone(const char *Cmd) {
|
||||||
year = param_get32ex(Cmd, 1, 2000, 10);
|
year = param_get32ex(Cmd, 1, 2000, 10);
|
||||||
|
|
||||||
//Q5
|
//Q5
|
||||||
if (param_getchar(Cmd, 2) == 'Q' || param_getchar(Cmd, 2) == 'q') {
|
if (param_getchar(Cmd, 2) == 'Q' || param_getchar(Cmd, 2) == 'q')
|
||||||
//t5555 (Q5) BITRATE = (RF-2)/2 (iceman)
|
blocks[0] = T5555_MODULATION_MANCHESTER | T5555_SET_BITRATE(32) | T5555_ST_TERMINATOR | 3 << T5555_MAXBLOCK_SHIFT;
|
||||||
blocks[0] = T5555_MODULATION_MANCHESTER | ((32-2)>>1) << T5555_BITRATE_SHIFT | T5555_ST_TERMINATOR | 3 << T5555_MAXBLOCK_SHIFT;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( !getnoralsyBits(id, year, bs)) {
|
if ( !getnoralsyBits(id, year, bs)) {
|
||||||
PrintAndLog("Error with tag bitstream generation.");
|
PrintAndLog("Error with tag bitstream generation.");
|
||||||
|
|
|
@ -181,8 +181,7 @@ int CmdPrescoClone(const char *Cmd) {
|
||||||
if (GetWiegandFromPresco(Cmd, &sitecode, &usercode, &fullcode, &Q5) == -1) return usage_lf_presco_clone();
|
if (GetWiegandFromPresco(Cmd, &sitecode, &usercode, &fullcode, &Q5) == -1) return usage_lf_presco_clone();
|
||||||
|
|
||||||
if (Q5)
|
if (Q5)
|
||||||
//t5555 (Q5) BITRATE = (RF-2)/2 (iceman)
|
blocks[0] = T5555_MODULATION_MANCHESTER | T5555_SET_BITRATE(32) | 4 << T5555_MAXBLOCK_SHIFT | T5555_ST_TERMINATOR;
|
||||||
blocks[0] = T5555_MODULATION_MANCHESTER | ((32-2)>>1) << T5555_BITRATE_SHIFT | 4 << T5555_MAXBLOCK_SHIFT | T5555_ST_TERMINATOR;
|
|
||||||
|
|
||||||
if ((sitecode & 0xFF) != sitecode) {
|
if ((sitecode & 0xFF) != sitecode) {
|
||||||
sitecode &= 0xFF;
|
sitecode &= 0xFF;
|
||||||
|
|
|
@ -268,8 +268,7 @@ int CmdPyramidClone(const char *Cmd) {
|
||||||
blocks[0] = T55x7_MODULATION_FSK2a | T55x7_BITRATE_RF_50 | 4 << T55x7_MAXBLOCK_SHIFT;
|
blocks[0] = T55x7_MODULATION_FSK2a | T55x7_BITRATE_RF_50 | 4 << T55x7_MAXBLOCK_SHIFT;
|
||||||
|
|
||||||
if (param_getchar(Cmd, 2) == 'Q' || param_getchar(Cmd, 2) == 'q')
|
if (param_getchar(Cmd, 2) == 'Q' || param_getchar(Cmd, 2) == 'q')
|
||||||
//t5555 (Q5) BITRATE = (RF-2)/2 (iceman)
|
blocks[0] = T5555_MODULATION_FSK2 | T5555_INVERT_OUTPUT | T5555_SET_BITRATE(50) | 4 << T5555_MAXBLOCK_SHIFT;
|
||||||
blocks[0] = T5555_MODULATION_FSK2 | T5555_INVERT_OUTPUT | ((50-2)>>1) << T5555_BITRATE_SHIFT | 4 << T5555_MAXBLOCK_SHIFT;
|
|
||||||
|
|
||||||
blocks[1] = bytebits_to_byte(bs,32);
|
blocks[1] = bytebits_to_byte(bs,32);
|
||||||
blocks[2] = bytebits_to_byte(bs+32,32);
|
blocks[2] = bytebits_to_byte(bs+32,32);
|
||||||
|
|
|
@ -170,10 +170,8 @@ int CmdVisa2kClone(const char *Cmd) {
|
||||||
id = param_get32ex(Cmd, 0, 0, 10);
|
id = param_get32ex(Cmd, 0, 0, 10);
|
||||||
|
|
||||||
//Q5
|
//Q5
|
||||||
if (param_getchar(Cmd, 1) == 'Q' || param_getchar(Cmd, 1) == 'q') {
|
if (param_getchar(Cmd, 1) == 'Q' || param_getchar(Cmd, 1) == 'q')
|
||||||
//t5555 (Q5) BITRATE = (RF-2)/2 (iceman)
|
blocks[0] = T5555_MODULATION_MANCHESTER | T5555_SET_BITRATE(64) | T5555_ST_TERMINATOR | 3 << T5555_MAXBLOCK_SHIFT;
|
||||||
blocks[0] = T5555_MODULATION_MANCHESTER | ((64-2)>>1) << T5555_BITRATE_SHIFT | T5555_ST_TERMINATOR | 3 << T5555_MAXBLOCK_SHIFT;
|
|
||||||
}
|
|
||||||
|
|
||||||
blocks[2] = id;
|
blocks[2] = id;
|
||||||
blocks[3] = (visa_parity(id) << 4) | visa_chksum(id);
|
blocks[3] = (visa_parity(id) << 4) | visa_chksum(id);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue