Research, development and trades concerning the powerful Proxmark3 device.
Remember; sharing is caring. Bring something back to the community.
"Learn the tools of the trade the hard way." +Fravia
You are not logged in.
Time changes and with it the technology
Proxmark3 @ discord
Users of this forum, please be aware that information stored on this site is not private.
Pages: 1
Hi guys,
I am a software engineer working in smart card industry for some years.
Now I am trying to port mifare simulation functions to smart card operating system, however my pm3 can't pass authentication on all readers I got. And I make some self test code to verify my crypto1 algorithm works properly.
First I monitor a NXP card and got the following log:
Then I use these data in my self test code:
Looks like my code stop at line 1022 (returns a 1):
Expected cardRr is 0xC725BF0D, while my card got a 0xCC1706F01.
I read some paper & code and try to find out why, but days passed still can't.
Can anyone point me out where need to correct? Thank you in advance.
If any further info needed, kindly let me know.
Offline
in line 981: you are assuming big endian word order for 64Bit values. This is not correct for Intel CPUs. Why don't you use uint64_t for the key?
in line 981: even if your assumption about the word order would be correct, the second part of your key is incomplete. It needs to be 0xFFFFFFFF instead of 0xFFFFFF.
in line 992: you pass the address of the array instead of the key itself.
The compiler should have complained a lot.
Offline
Pages: 1