mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-08-22 22:33:48 -07:00
calc tk17 raw bitstring
This commit is contained in:
parent
f163862496
commit
2fdf09606f
1 changed files with 13 additions and 2 deletions
|
@ -248,15 +248,16 @@ inline int TexcomTK17Get2Bits(uint32_t len1, uint32_t len2) {
|
|||
if (xlen < 30)
|
||||
return 0;
|
||||
if (xlen < 50)
|
||||
return 1;
|
||||
if (xlen < 70)
|
||||
return 2;
|
||||
if (xlen < 70)
|
||||
return 1;
|
||||
return 3;
|
||||
}
|
||||
|
||||
|
||||
static bool TexcomTK17Decode(uint32_t* implengths, uint32_t implengthslen, bool verbose) {
|
||||
char bitstring[256] = {0};
|
||||
char cbitstring[256] = {0};
|
||||
|
||||
for (uint32_t i = 0; i < implengthslen; i = i + 2) {
|
||||
int dbit = TexcomTK17Get2Bits(implengths[i], implengths[i + 1]);
|
||||
|
@ -284,6 +285,16 @@ static bool TexcomTK17Decode(uint32_t* implengths, uint32_t implengthslen, bool
|
|||
if (verbose)
|
||||
PrintAndLogEx(INFO, "TK17 raw bit string [%zu]: %s", strlen(bitstring), bitstring);
|
||||
|
||||
for (uint32_t i = 0; i < 8; i++) {
|
||||
memcpy(&cbitstring[i * 8 + 0], &bitstring[i * 8 + 6], 2);
|
||||
memcpy(&cbitstring[i * 8 + 2], &bitstring[i * 8 + 4], 2);
|
||||
memcpy(&cbitstring[i * 8 + 4], &bitstring[i * 8 + 2], 2);
|
||||
memcpy(&cbitstring[i * 8 + 6], &bitstring[i * 8 + 0], 2);
|
||||
}
|
||||
|
||||
if (verbose)
|
||||
PrintAndLogEx(INFO, "TK17 bit string [%zu]: %s", strlen(cbitstring), cbitstring);
|
||||
|
||||
|
||||
return strlen(bitstring) == 64;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue