MifareClassicTool icon indicating copy to clipboard operation
MifareClassicTool copied to clipboard

Device does (not) support Mifare Classic

Open mmm4m5m opened this issue 2 years ago • 4 comments

Maybe the message is wrong. Or checking for Mifare Classic support is incorrect.

  1. Metrodroid application report that phone have support for Mifare Classic "You can verify MIFARE Classic support in Metrodroid's about screen." https://github.com/metrodroid/metrodroid/wiki/Cracking-keys

  2. As far I could find and read in the code, my phone do not have 'bcm' or 'bcrm' files: $ adb shell find /dev /system | grep -i 'bcm\|bcrm'

hasMifareClassicSupport: ...this function will check if there are files like "/dev/bcm2079x-i2c" or "/system/lib/libnfc-bcrm*"

https://github.com/ikarus23/MifareClassicTool/blob/master/Mifare%20Classic%20Tool/app/src/main/java/de/syss/MifareClassicTool/Common.java

image

mmm4m5m avatar Jun 18 '22 09:06 mmm4m5m

Hi. Detecting if a device supports MIFARE Classic is hard. Without presenting a MIFARE Classic tag to your device you can not be sure. While I don't think my detection mechanism might be right all the time, I don't think the one of Metrodroid is either. Have you checked other apps like TagInfo by NXP?

ikarus23 avatar Jun 20 '22 11:06 ikarus23

Also, what device are you using?

ikarus23 avatar Jun 20 '22 11:06 ikarus23

@ikarus23 Device is OnePlus3T with LineageOS. I guess the NFC files/drives are vendor specific - not from LineageOS.

I do not know much about NFC (yet). Is Tag.techList not enough for "yes/no" Mifare support? Above message (not supported) is shown after tap NFC card.

I am looking mostly at open source examples. If I find good example I will let you know. Here from TagInfo by NXP - the same NFC card - city transport card:

image

image

image

mmm4m5m avatar Jun 25 '22 22:06 mmm4m5m

@ikarus23 Device is OnePlus3T with LineageOS. I guess the NFC files/drives are vendor specific - not from LineageOS.

Yes, the drivers in LineageOS often differ from the original ones because of legal issues (licensing)

I do not know much about NFC (yet). Is Tag.techList not enough for "yes/no" Mifare support? Above message (not supported) is shown after tap NFC card.

It is a simple yes/no list, but it only gets filled with data when a tag is touched. If MIFARE Classic is not in the techList, you don't know why. Could be the device not supporting it or the tag not being MIFARE Classic.

I am looking mostly at open source examples. If I find good example I will let you know. Here from TagInfo by NXP - the same NFC card - city transport card:

The "Full Scan" tab of NFC TagInfo is the important one. Here you will see data, if the device was capable of reading out your tag.

ikarus23 avatar Sep 05 '22 20:09 ikarus23

Any news on this? Like I said, I think it is the driver/firmware of the phone. A lot of people have conflicting results with OnePlus devices. Some work with the sock ROM, others work with LineageOS. But than again, other versions of LineageOS made the MIFARE Classic support stop working. I can not tell exactly what is going on. Never owned an OnePlus device.

Feel free to reopen this, if there is any relevant news.

ikarus23 avatar Sep 28 '22 17:09 ikarus23