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
Hello
Does anybody know how to calculate "Storage CRC" for example CRC of UID ??
Thank You
Offline
Hello
Ok i know how to calculate storage CRC8 and CRC16 i someone will need that pm me.
Bye
Offline
Can you paste the polynomial, or your example code that generates the correct CRC?
Or is this covered in this paper, which was published by Henryk and Karsten?
Offline
Hello
Yes "Storage" CRC8 polynomial is correct in this document (0xC6 - in reverse) and initial value is 0x55
And for CRC16 polynomial is 0xB400 (in reverse) and initial value is word constructed from UIDCRC for example:
UIDCRC id 0x78 (in reverse) the initial will be 0x7878
I don't have Proxmark but I'm writing reader/writer/emulator on dsPIC30 and now code for calculating this CRC i have in Pascal (Delphi) if someone will need some help write me ill try to help.
Also im fixing Proxmark code because it have some bugs like in "legic_prng_forward":
now it is:
lfsr.a = lfsr.a >> 1 | (lfsr.a ^ lfsr.a >> 6) << 6;
but it have to be:
lfsr.a = (lfsr.a >> 1 | (lfsr.a ^ lfsr.a >> 6) << 6) & 0x7F;
So it will generate valid decode stream and it will work not only with 0x55 RAND value.
Offline
Pages: 1