And here is the proxmark reading:
[usb] pm3 → lf search
[=] NOTE: some demods output possible binary
[=] if it finds something that looks like a tag
[=] False Positives ARE possible
[=]
[=] Checking for known tags…
[=]
[+] [H10302 ] HID H10302 37-bit huge ID CN: 706609467 parity ( ok )
[+] [H10304 ] HID H10304 37-bit FC: 1347 CN: 393531 parity ( ok )
[+] [MDI37 ] PointGuard MDI 37-bit FC: 1 CN: 169738555 parity ( ok )
[=] found 3 matching formats
[+] DemodBuffer:
[+] 1D55565566655AA555596A69
I did found the “card ID” in the read, but how does any of this corelate to the written code?
Ps: let me rephrase what I’m wondering
Is there a correlation between the card ID and the raw data?
Wondering if/how I could generate a card from a picture with the info printed on it.
yep there is… but to get there you have to deconstruct the hex data into binary and then pick your format.
• Raw data as one big binary; 0001000001010100001111000000001001110110
• H10302 is 37 bits 706609467 = 00101010000111100000000100111011
Notice that it’s 37 bits and not 32 or 40? That means 8 bit byte boundaries do not apply. The relevant data bits for a 37 bit ID in H10302 format are easily found in the raw binary;
• H10304 37 bit FC 1347 + CN 393531 = 010101000011 + 01100000000100111011
The FC is easily found…
The CN is tricky because the binary conversion from decimal puts a leading 0 and in binary, all leading 0s can be ignored… so now without the leading zero we can see it immediately follows the FC…
How and where to split these up is defined in HID documentation, but as you can see you could make several different demarcations of the same binary data based on different HID specifications to arrive at different FC and CN values. That’s why when exploring this stuff you will pretty much always need to break everything down to the binary level first, then build it back up in the shape of the data format you’re looking for.
Many cards print the full data on them or the FC and CN on them… but this card looks to obfuscate the FC data behind a sales order number… so an HID rep would need to look up that sales order printed on the card in their sales database to find the correct FC.
There is no guarantee that there is a relation with the printed number and the internal bits. However, making a lot of illogical jumps and really tring to find the number I have come up with this:
If you split 1110191632-1 into parts 11101 91632 1 and we convert 91632 into binary 1101 1111 1010 1010 0100 we can do this:
31-35 => 11101 for the first part
36 => 1 for the end
Now this will get you this number from the internal number but is highly unlikely to be the solution, to solve this we will need more examples at least three, at most ten.