RawNFC is an open source application developed by Dangerous Things to enable raw communication with compatible transponders, including non-NFC compliant transponders like Mifare Classic chips (only on compatible hardware).
The app supports a custom URI scheme which allows you to simply tap a link to load a series of commands into RawNFC to be executed on whatever tag is tapped to the phone. This post / thread will stand as a library of commands meant to be used with the RawNFC app for Android.
The format of this URI is as follows;
dnfc://{tag technology}/{commands in hex}
As a simple example, the following command will return the GET_VERSION (0x60) data for any NTAG family transponders;
The line numbers of the input textbox correspond to the line numbers in the output textbox. To share the output, long tap the output textbox to get an option to copy the command and response history to the clipboard;
-----BEGIN RAW NFC DUMP-----
android.nfc.tech.NfcA
> 60
< 0004040201001303
-----END RAW NFC DUMP-----
This post contains various fixes for NTAG based products like the xNT, NExT, flexNT, xSIID, etc.
Setting a blank NDEF on your Type 2 NFC tag
Sometimes NDEF records get borked which can cause problems writing or updating your NTAG / Ultralight. This is the first step in attempting a recovery.
This command will simply write a blank NDEF record starting at page 04 and null blank the following pages 07, 08, and 09 just for good measure. Each successful write should return 0A in acknowledgement.
For people with write-protected user memory, the first line is an PWD_AUTH command using the default FF FF FF FF password.
It is not possible to unset or remove the password, it must always be set to something, so usually that is the factory default of FF FF FF FF. If you have set your password to something else, swap out the FF FF FF FF for your 4 byte password in hexadecimal format before executing this command.
That’s cool! It’s also pretty much what I started building in Zinc. If I had known I would have waited
The custom Uri trick is going to be great for sharing, you could even store a series of commamds in an ndef this way. I can’t wait for someone to create some sort of trick where they load and write commamds off and on to a chip in a loop
Haha awesome!
I was thinking of having some basic non ncf commands in mine to make automation easier
Ie:
Basic loop
Condition on the previous output
Delay
This is awesome; a much-needed tool in the current ecosystem. Thank you for sharing it with the community!
However, it appears to be missing a license file? Without it, it’s less ‘Open Source’ than ‘source-available’, as (in the US at least) no license doesn’t grant a right to let us do much with it. Please consider adding a free / open source software license!