is a school project to emulate NXP's MIFARE DESFire-based library ID cards with Android's Host Card Emulation.
This module offers emulation of a contactless library ID card. Emulation uses native MIFARE DESFire command set. The DESFire protocol implemented here is this reverse engineered version.
See the list of supported commands.
This module enables reading data from physical and emulated DESFire-based library ID cards.
Its programmed use-case is to
- connect with a DESFire card (physical or with a specific Android application)
- select a library DESFire Application
- authenticate with AES key
- read data from a DESFire File
The "Android" AID used by both HCE and Reader Android applications can be configured in the strings.xml file of the nfc helper library.
The data (Application AID, AES key, Data Files) of the emulated DESFire Application can be configured here.
The data (Application AID and AES key) of the Reader module can be configured here.
To deploy the applications two NFC-capable Android phones are needed. My setup included motorola one (Emulator) and Nexus 4 (Reader). I have tested emulation with some Sony and Huawei phones and it didn't work so well. You can use CTSVerifier to test your phone's NFC capabilities.
I was using Android Studio version 3.6.1.
Although I don't plan to update the app anytime soon, feel free to open Issues if you need clarification or help with NFC. I'd like to thank this way for many others that provided me with resources. Please consider starring the repo if you like it!