mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-08-20 13:23:51 -07:00
chg: checksum test
This commit is contained in:
parent
e749174d79
commit
66d3abafb2
1 changed files with 16 additions and 10 deletions
|
@ -714,27 +714,33 @@ int getIndalaBits(uint8_t fc, uint16_t cn, uint8_t *bits) {
|
||||||
|
|
||||||
// add cn
|
// add cn
|
||||||
bits[42] = ((cn >> 15) & 1); // b16
|
bits[42] = ((cn >> 15) & 1); // b16
|
||||||
bits[45] = ((cn >> 14) & 1); // b15
|
bits[45] = ((cn >> 14) & 1); // b15 - c
|
||||||
bits[43] = ((cn >> 13) & 1); // b14
|
bits[43] = ((cn >> 13) & 1); // b14
|
||||||
bits[40] = ((cn >> 12) & 1); // b13
|
bits[40] = ((cn >> 12) & 1); // b13 - c
|
||||||
bits[52] = ((cn >> 11) & 1); // b12
|
bits[52] = ((cn >> 11) & 1); // b12
|
||||||
bits[36] = ((cn >> 10) & 1); // b11
|
bits[36] = ((cn >> 10) & 1); // b11
|
||||||
bits[35] = ((cn >> 9) & 1); // b10
|
bits[35] = ((cn >> 9) & 1); // b10 - c
|
||||||
bits[51] = ((cn >> 8) & 1); // b9
|
bits[51] = ((cn >> 8) & 1); // b9 - c
|
||||||
bits[46] = ((cn >> 7) & 1); // b8
|
bits[46] = ((cn >> 7) & 1); // b8
|
||||||
bits[33] = ((cn >> 6) & 1); // b7
|
bits[33] = ((cn >> 6) & 1); // b7 - c
|
||||||
bits[37] = ((cn >> 5) & 1); // b6
|
bits[37] = ((cn >> 5) & 1); // b6 - c
|
||||||
bits[54] = ((cn >> 4) & 1); // b5
|
bits[54] = ((cn >> 4) & 1); // b5
|
||||||
bits[56] = ((cn >> 3) & 1); // b4
|
bits[56] = ((cn >> 3) & 1); // b4
|
||||||
bits[59] = ((cn >> 2) & 1); // b3
|
bits[59] = ((cn >> 2) & 1); // b3 - c
|
||||||
bits[50] = ((cn >> 1) & 1); // b2
|
bits[50] = ((cn >> 1) & 1); // b2
|
||||||
bits[41] = (cn & 1); // b1
|
bits[41] = (cn & 1); // b1 - c
|
||||||
|
|
||||||
// checksum
|
// checksum
|
||||||
// ICEMAN: todo: needs to calc
|
|
||||||
uint8_t chk = 0;
|
uint8_t chk = 0;
|
||||||
//sum(y2, y4, y7, y8, y10, y11, y14, y16
|
//sum(y2, y4, y7, y8, y10, y11, y14, y16
|
||||||
chk += 0; //y == 75
|
chk += ((cn >> 14) & 1); //y2 == 75 - 30 = 45
|
||||||
|
chk += ((cn >> 12) & 1); //y4 == 70 - 30 = 40
|
||||||
|
chk += ((cn >> 9) & 1); //y7 == 65 - 30 = 35
|
||||||
|
chk += ((cn >> 8) & 1); //y8 == 81 - 30 = 51
|
||||||
|
chk += ((cn >> 6) & 1); //y10 == 63 - 30 = 33
|
||||||
|
chk += ((cn >> 5) & 1); //y11 == 67 - 30 = 37
|
||||||
|
chk += ((cn >> 2) & 1); //y14 == 89 - 30 = 59
|
||||||
|
chk += (cn & 1); //y16 == 71 - 30 = 41
|
||||||
|
|
||||||
if ((chk & 1) == 0) {
|
if ((chk & 1) == 0) {
|
||||||
bits[62] = 1;
|
bits[62] = 1;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue