Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Does not work with MiFare Classic 1k emulation card with SAK=28, both mfoc and mfoc-hardnested #85

Open
priv opened this issue Nov 5, 2020 · 2 comments

Comments

@priv
Copy link

priv commented Nov 5, 2020

Need some help debugging

I'm sure it's valid Mifare 1k Emulation card, and I'm able to use libnfc_crypto1_crack to retrieve some keys. But since mfoc does not work, miLazyCracker will not work either, it's a pain.

First, mfoc/mfoc-hardnested does not check SAK=28 at all, so it will show "Cannot determine card type from SAK"

After add 0x28 to the switch case, it still failed to execute nfc_initiator_select_passive_target() in get_rats_is_2k(), so it will show "Error: tag disappeared"

I know it's 1k card, so I just commented out the full 2k check section.

However, the new road blocker is nfc_initiator_mifare_cmd: Invalid argument(s).

Does any one know how to get pass this problem?

execution result attached.

Found Mifare Classic 1k tag
ISO/IEC 14443A (106 kbps) target:
    ATQA (SENS_RES): 00  04  
* UID size: single
* bit frame anticollision supported
       UID (NFCID1): xx xx xx xx 
      SAK (SEL_RES): 28  
* Compliant with ISO/IEC 14443-4
* Not compliant with ISO/IEC 18092
                ATS: 78  80  72  02  80  31  80  66  b1  84  0c  01  6e  01  83  00  90  00  
* Max Frame Size accepted by PICC: 256 bytes
* Bit Rate Capability:
  * Same bitrate in both directions mandatory
* Frame Waiting Time: 38.66 ms
* Start-up Frame Guard Time: 1.208 ms
* Node Address not supported
* Card IDentifier supported
* Historical bytes Tk: 80  31  80  66  b1  84  0c  01  6e  01  83  00  90  00  
  * Tk after 0x80 consist of optional consecutive COMPACT-TLV data objects;
    the last data object may carry a status indicator of one, two or three bytes.
    See ISO/IEC 7816-4 8.1.1.3 for more info

Fingerprinting based on MIFARE type Identification Procedure:
* SmartMX with MIFARE 1K emulation
Other possible matches based on ATQA & SAK values:
* JCOP31 v2.3.1

Try to authenticate to all sectors with default keys...
Symbols: '.' no key found, '/' A key found, '\' B key found, 'x' both keys found
nfc_initiator_mifare_cmd: Invalid argument(s)
[Key: ffffffffffff] -> [alvin@alvin-WS-E500-G5:~/pool/mfoc-hardnested$ 

@priv priv changed the title Does not work with MiFare Classic 1k emulation card with SAK=28, both mfoc and mfoc -hardnested Does not work with MiFare Classic 1k emulation card with SAK=28, both mfoc and mfoc-hardnested Nov 6, 2020
@sumanblack666
Copy link

@priv
Copy link
Author

priv commented Nov 11, 2020

Hi the problem is same, you can see my log I already compiled latest mfoc-hardnested, both mfoc/mfoc-hardnested share same checking/reading code. It fails on first try with key ffffffffffff

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants