Topic: ReaderIso14443a function - Interpreting SAK from Tag

I am looking at the 20090409_prox package obtained from the files section, and under the iso14443a.c file, ReaderIso14443a function, there is a line of code:

if (receivedAnswer[0] == 0x88) { //code to obtain UID of higher cascade levels }

From my understanding of the ISO_14443_A specs, 0x88 should be understood as "UID complete, PICC not compliant with ISO/IEC 14443-4" (see specs in "FINAL_ISO_IEC_14443-3_2001.pdf" page 19). Is my understanding correct? Hence it should not be asking the tag for more UID bytes.

I have a Mifare Classic 1K card that responded with "88  be  59" for the SAK, that's why I am asking. Thank you.

Re: ReaderIso14443a function - Interpreting SAK from Tag

Hi,


I'm having the exact same question.
Look here:
http://www.proxmark.org/forum/topic/229 … 0-uid-bcc/
However I din't look at the ISO_14443_A specs yet.
Thanks for the hint.


Cheers,
Tom

Checkout Mikey! Interested? Read the blog and speak up in the forum.

Re: ReaderIso14443a function - Interpreting SAK from Tag

The first byte of the UID during the anti-collision is something different than the SAK (1 byte + 2 CRC)
Check out this page for more information about card types and their vendors.

Re: ReaderIso14443a function - Interpreting SAK from Tag

Thanks for the quick reply.

So in my case, my card is a Infineon Mifare Classic 1K card.

However looking back at the code, the condition here is not correct then? Because if the card is a Classic 1K card (0x88), the reader does not need to perform cascade level 2 to get further UID bytes. This is only necessary for JCOP and DESFire cards, right? Thanks!