mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-08-20 13:23:51 -07:00
CHG: cleaning up stuff
This commit is contained in:
parent
34c3082338
commit
deba67ab57
4 changed files with 20 additions and 39 deletions
|
@ -115,7 +115,6 @@ static bool sendTry(uint8_t fmtlen, uint32_t fc, uint32_t cn, uint32_t delay, ui
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int CmdAWIDDemodFSK(const char *Cmd) {
|
int CmdAWIDDemodFSK(const char *Cmd) {
|
||||||
int findone = 0;
|
int findone = 0;
|
||||||
if (Cmd[0] == 'h' || Cmd[0] == 'H') return usage_lf_awid_fskdemod();
|
if (Cmd[0] == 'h' || Cmd[0] == 'H') return usage_lf_awid_fskdemod();
|
||||||
|
|
|
@ -82,16 +82,12 @@ int CmdJablotronDemod(const char *Cmd) {
|
||||||
int ans = JablotronDemod(DemodBuffer, &size);
|
int ans = JablotronDemod(DemodBuffer, &size);
|
||||||
if (ans < 0){
|
if (ans < 0){
|
||||||
if (g_debugMode){
|
if (g_debugMode){
|
||||||
// if (ans == -5)
|
|
||||||
// PrintAndLog("DEBUG: Error - Jablotron not enough samples");
|
|
||||||
if (ans == -1)
|
if (ans == -1)
|
||||||
PrintAndLog("DEBUG: Error - Jablotron too few bits found");
|
PrintAndLog("DEBUG: Error - Jablotron too few bits found");
|
||||||
// else if (ans == -2)
|
else if (ans == -2)
|
||||||
// PrintAndLog("DEBUG: Error - Jablotron problem during ASK/Biphase demod");
|
|
||||||
else if (ans == -3)
|
|
||||||
PrintAndLog("DEBUG: Error - Jablotron Size not correct: %d", size);
|
|
||||||
else if (ans == -4)
|
|
||||||
PrintAndLog("DEBUG: Error - Jablotron preamble not found");
|
PrintAndLog("DEBUG: Error - Jablotron preamble not found");
|
||||||
|
else if (ans == -3)
|
||||||
|
PrintAndLog("DEBUG: Error - Jablotron size not correct: %d", size);
|
||||||
else if (ans == -5)
|
else if (ans == -5)
|
||||||
PrintAndLog("DEBUG: Error - Jablotron checksum failed");
|
PrintAndLog("DEBUG: Error - Jablotron checksum failed");
|
||||||
else
|
else
|
||||||
|
|
|
@ -298,7 +298,7 @@ int CmdLFNedapSim(const char *Cmd) {
|
||||||
}
|
}
|
||||||
|
|
||||||
int CmdLFNedapChk(const char *Cmd){
|
int CmdLFNedapChk(const char *Cmd){
|
||||||
|
//301600714021BE
|
||||||
uint8_t data[256] = { 0x30, 0x16, 0x00, 0x71, 0x40, 0x21, 0xBE};
|
uint8_t data[256] = { 0x30, 0x16, 0x00, 0x71, 0x40, 0x21, 0xBE};
|
||||||
int len = 0;
|
int len = 0;
|
||||||
param_gethex_ex(Cmd, 0, data, &len);
|
param_gethex_ex(Cmd, 0, data, &len);
|
||||||
|
@ -313,7 +313,7 @@ int CmdLFNedapChk(const char *Cmd){
|
||||||
uint8_t cl = 0x1D, ch = 0x1D, carry = 0;
|
uint8_t cl = 0x1D, ch = 0x1D, carry = 0;
|
||||||
uint8_t al, bl, temp;
|
uint8_t al, bl, temp;
|
||||||
|
|
||||||
for (int i = len; i >=0; --i){
|
for (int i =len; i >= 0; --i){
|
||||||
al = data[i];
|
al = data[i];
|
||||||
for (int j = 8; j > 0; --j) {
|
for (int j = 8; j > 0; --j) {
|
||||||
|
|
||||||
|
@ -340,7 +340,7 @@ int CmdLFNedapChk(const char *Cmd){
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
PrintAndLog("Nedap checksum: [ 0x21, 0xBE ] %x", ((ch << 8) | cl) );
|
PrintAndLog("Nedap checksum: 0x%X", ((ch << 8) | cl) );
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -677,7 +677,6 @@ int IOdemodFSK(uint8_t *dest, size_t size)
|
||||||
int VikingDemod_AM(uint8_t *dest, size_t *size) {
|
int VikingDemod_AM(uint8_t *dest, size_t *size) {
|
||||||
//make sure buffer has data
|
//make sure buffer has data
|
||||||
if (*size < 64*2) return -2;
|
if (*size < 64*2) return -2;
|
||||||
|
|
||||||
size_t startIdx = 0;
|
size_t startIdx = 0;
|
||||||
uint8_t preamble[] = {1,1,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
|
uint8_t preamble[] = {1,1,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
|
||||||
uint8_t errChk = preambleSearch(dest, preamble, sizeof(preamble), size, &startIdx);
|
uint8_t errChk = preambleSearch(dest, preamble, sizeof(preamble), size, &startIdx);
|
||||||
|
@ -693,7 +692,7 @@ int VikingDemod_AM(uint8_t *dest, size_t *size) {
|
||||||
if ( checkCalc != 0xA8 ) return -5;
|
if ( checkCalc != 0xA8 ) return -5;
|
||||||
if (*size != 64) return -6;
|
if (*size != 64) return -6;
|
||||||
//return start position
|
//return start position
|
||||||
return (int) startIdx;
|
return (int)startIdx;
|
||||||
}
|
}
|
||||||
|
|
||||||
// by iceman
|
// by iceman
|
||||||
|
@ -706,7 +705,7 @@ int Visa2kDemod_AM(uint8_t *dest, size_t *size) {
|
||||||
if (errChk == 0) return -2; //preamble not found
|
if (errChk == 0) return -2; //preamble not found
|
||||||
if (*size != 96) return -3; //wrong demoded size
|
if (*size != 96) return -3; //wrong demoded size
|
||||||
//return start position
|
//return start position
|
||||||
return (int) startIdx;
|
return (int)startIdx;
|
||||||
}
|
}
|
||||||
// by iceman
|
// by iceman
|
||||||
// find Noralsy preamble in already demoded data
|
// find Noralsy preamble in already demoded data
|
||||||
|
@ -718,7 +717,7 @@ int NoralsyDemod_AM(uint8_t *dest, size_t *size) {
|
||||||
if (errChk == 0) return -2; //preamble not found
|
if (errChk == 0) return -2; //preamble not found
|
||||||
if (*size != 96) return -3; //wrong demoded size
|
if (*size != 96) return -3; //wrong demoded size
|
||||||
//return start position
|
//return start position
|
||||||
return (int) startIdx;
|
return (int)startIdx;
|
||||||
}
|
}
|
||||||
// find presco preamble 0x10D in already demoded data
|
// find presco preamble 0x10D in already demoded data
|
||||||
int PrescoDemod(uint8_t *dest, size_t *size) {
|
int PrescoDemod(uint8_t *dest, size_t *size) {
|
||||||
|
@ -729,53 +728,40 @@ int PrescoDemod(uint8_t *dest, size_t *size) {
|
||||||
if (errChk == 0) return -2; //preamble not found
|
if (errChk == 0) return -2; //preamble not found
|
||||||
if (*size != 128) return -3; //wrong demoded size
|
if (*size != 128) return -3; //wrong demoded size
|
||||||
//return start position
|
//return start position
|
||||||
return (int) startIdx;
|
return (int)startIdx;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Ask/Biphase Demod then try to locate an ISO 11784/85 ID
|
// Ask/Biphase Demod then try to locate an ISO 11784/85 ID
|
||||||
// BitStream must contain previously askrawdemod and biphasedemoded data
|
// BitStream must contain previously askrawdemod and biphasedemoded data
|
||||||
int FDXBdemodBI(uint8_t *dest, size_t *size)
|
int FDXBdemodBI(uint8_t *dest, size_t *size) {
|
||||||
{
|
if (*size < 128*2) return -1; //make sure buffer has enough data
|
||||||
//make sure buffer has enough data
|
|
||||||
if (*size < 128) return -1;
|
|
||||||
|
|
||||||
size_t startIdx = 0;
|
size_t startIdx = 0;
|
||||||
uint8_t preamble[] = {0,0,0,0,0,0,0,0,0,0,1};
|
uint8_t preamble[] = {0,0,0,0,0,0,0,0,0,0,1};
|
||||||
|
|
||||||
uint8_t errChk = preambleSearch(dest, preamble, sizeof(preamble), size, &startIdx);
|
uint8_t errChk = preambleSearch(dest, preamble, sizeof(preamble), size, &startIdx);
|
||||||
if (errChk == 0) return -2; //preamble not found
|
if (errChk == 0) return -2; //preamble not found
|
||||||
|
if (*size != 128) return -3; //wrong demoded size
|
||||||
|
//return start position
|
||||||
return (int)startIdx;
|
return (int)startIdx;
|
||||||
}
|
}
|
||||||
|
|
||||||
// ASK/Diphase fc/64 (inverted Biphase)
|
// ASK/Diphase fc/64 (inverted Biphase)
|
||||||
// Note: this i s not a demod, this is only a detection
|
// Note: this i s not a demod, this is only a detection
|
||||||
// the parameter *dest needs to be demoded before call
|
// the parameter *dest needs to be demoded before call
|
||||||
|
// 0xFFFF preamble, 64bits
|
||||||
int JablotronDemod(uint8_t *dest, size_t *size){
|
int JablotronDemod(uint8_t *dest, size_t *size){
|
||||||
//make sure buffer has enough data
|
if (*size < 64*2) return -1; //make sure buffer has enough data
|
||||||
if (*size < 64) return -1;
|
|
||||||
|
|
||||||
size_t startIdx = 0;
|
size_t startIdx = 0;
|
||||||
// 0xFFFF preamble, 64bits
|
uint8_t preamble[] = {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0};
|
||||||
uint8_t preamble[] = {
|
|
||||||
1,1,1,1,
|
|
||||||
1,1,1,1,
|
|
||||||
1,1,1,1,
|
|
||||||
1,1,1,1,
|
|
||||||
0
|
|
||||||
};
|
|
||||||
|
|
||||||
uint8_t errChk = preambleSearch(dest, preamble, sizeof(preamble), size, &startIdx);
|
uint8_t errChk = preambleSearch(dest, preamble, sizeof(preamble), size, &startIdx);
|
||||||
if (errChk == 0) return -4; //preamble not found
|
if (errChk == 0) return -2; //preamble not found
|
||||||
if (*size != 64) return -3;
|
if (*size != 64) return -3; // wrong demoded size
|
||||||
|
|
||||||
uint8_t checkchksum = 0;
|
uint8_t checkchksum = 0;
|
||||||
for (int i=16; i < 56; i += 8) {
|
for (int i=16; i < 56; i += 8) {
|
||||||
checkchksum += bytebits_to_byte(dest+startIdx+i,8);
|
checkchksum += bytebits_to_byte(dest+startIdx+i,8);
|
||||||
}
|
}
|
||||||
checkchksum ^= 0x3A;
|
checkchksum ^= 0x3A;
|
||||||
|
|
||||||
uint8_t crc = bytebits_to_byte(dest+startIdx+56, 8);
|
uint8_t crc = bytebits_to_byte(dest+startIdx+56, 8);
|
||||||
|
|
||||||
if ( checkchksum != crc ) return -5;
|
if ( checkchksum != crc ) return -5;
|
||||||
return (int)startIdx;
|
return (int)startIdx;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue