Search code examples
androidnfcmifare

Unlock mifare tag with android


I'm looking for a way to send the unlock sequence from an Android phone to a Mifare tag from the Chinese manufacturer that makes the ones with a writable block 0.

I've been trying the connect + transceive methods, sending the 50 00 + 40 + 43 byte sequences. But that won't work.

I've tried the private transceive function (to get around error checking), but that won't work either. I get errors from the nfc service.

Has anyone successfully been able to send the unlock sequence to unlock block0?


Solution

  • This is not possible on an Android device. The proprietary commands for the Chinese MIFARE clone are 7 bits long, not a complete byte. The NFC implementations in Android devices (both the older with proprietary interface and the newer NFC Forum NCI compliant ones) work on payload buffers of complete bytes.