Hi guys!,
The railroads company in the netherlands use a Mifare Classic chip card to travel with the trains and other public transport. Now the Mifare Classic cards made by NXP are easily exploitable in most cases so the companies who need security but still need the laim Mifare Classic protocol use a even more smarter chip card (made by infineon in this case) who emulates Mifare Classic but throws of the regular attack against weak Crypto part.
So now our public transit cards are not readable for the public anymore...
But.. The companies announced to release an app who will read the card and can give you offline card information, this is where my android mod "MifareSpy" comes in. MifareSpy logs the Mifare Classic keys to the android logging system for you to read and thus giving you the possibility to tinker with YOUR OWN card
It's basically this piece of code inside of android_frameworks_base / core / java / android / nfc / tech / MifareClassic.java
//MifareSpy 1
StringBuffer sb = new StringBuffer();
for (byte b : key) {
sb.append(String.format("%02X", b));
}
Log.i("MifareSpy1", ":"+keyA+":"+sector+":"+sb.toString()+":");
//End MifareSpy 1
I have tried it and it works great with adb logcat.
The modded file:
https://github.com/Factionwars/android_frameworks_base/blob/cm-11.0/core/java/android/nfc/tech/MifareClassic.javaMy fork:
https://github.com/Factionwars/android_frameworks_base/You can apply this to your own android source and compile it, you can ask me to compile it for your device, download the cyanogenmod-11 source and at the frameworks/base folder use my repo (you can ask me to get it uptodate) or you can just stop being interested in what is on your card
More android (preferably nfc) mods to come!