NExt Invalid tag on android

I got my NExT installed yesterday. It was giving me no issues. I tried to write using NFC tools and the writing was successful. I went to scan it and now android gives me an invalid tag error. I tried to reformat it with NFC tools, NXP writer, and DT support tool. It does scan using the NXP reader, but not the writer. The full scan data is below.

The tag is showing up at a ntag216 and not a mifare.

You got it implanted yesterday and swelling can make the chip hard to read. So you might have problems for the first two weeks. It’s normal.

Also, proper placement is crucial when writing. I recommend searching for the best spot on the back of your phone with the HF field detector keychain.

1 Like

I read your old thread when you had the same issues. How did you fix it?

I do have a proxmark 3 easy

Just wait…

When your implant is first installed, there is minimal swelling/inflammation.

Then it slowly builds up before dissipating.
This process can vary for each individual and install.
But generally after 2 weeks you should have no further issues

2 Likes

PS we can all see your phone number, might want to take the picture down.

Update. it appears to be an issue with block 0. I have tried everything. But when I try to correct block 0 I get an “Auth Error”. Any Idea?

I would still wait for another 1 and a half weeks before trying to do anything with it.

2 Likes

So, I’ve been playing with these tags a bit and I have a theory as to what your problem may be. Android phones often have those digital wallets that detect NFC pads at stores and such. It’s possible when you wrote certain data to your implant, it’s triggering the digital wallet app and erroring out because the digital wallet is being passed data it doesn’t understand. Basically either writting the error over the app you expect, or not triggering it to load at all. It’s still just a theory, but I’m about 70% sure that the issue.

Close. Android has an NDEF library that basically forces the OS to fully scan the tag first. All memory sectors. Then decide if it wants to hand over the NFC intent to whatever app might be waiting for it. The problem is, there are certain functions in the NDEF parser that fail hard if the NDEF record is corrupted in certain specific ways. Because the OS can’t handle these failures it just puts an error dialog and stops. The apps never get a chance to even see the NFC tag. Therefore it becomes necessary to fix the NDEF record using an alternative device like a proxmark or a USB reader with the Java version of NFC tools on Windows or Mac.

I tried using the Proxmark to write to the NExT. But when I do I just get a bunch of auth errors. I think when the write went wrong it locked the chip.

It’s not really possible to lock the chip. We disable the lock bits at the factory, and the password protected memory content only extends to the configuration bytes and not user memory.

Can you do a dump of the memory from the proxmark?

What are the commands to run

can you detail exactly what you mean here?

When I try and write anything to the chip I get an AUTH ERROR. I tried writing a dump file from another tag to it I got the auth error on every sector and every block. Does anyone have a dump file from a fresh NExT I try writing to mine?

What I mean is, post the commands you are trying and the responses. Screenshots tend to work best.

I realized that I was running the wrong commands. I was trying to do and restore the information from a Mifare classic. That is why I was getting all of the errors. This is what the NDEF scan shows from my Proxmark. I do see at the end it has an NDEF terminator at the end. Could this be causing the issue?

Here is what I get when I do a DUMP. The “X” represents a phone number.

[usb] pm3 → hf mfu dump
[+] TYPE: NTAG 216 888bytes (NT2H1611G0DU)
[+] Reading tag memory…
[!] Authentication Failed UL-EV1/NTAG

[=] MFU dump file information
[=] -------------------------------------------------------------
[=] Version… 00 04 04 02 01 00 13 03
[=] TBD 0… 00 00
[=] TBD 1… 00
[=] Signature… 71 D2 FA B6 4D 71 86 DB AC 43 CC BB 8F 40 31 CF
[=] F5 93 02 DD 0B AC 61 FB BD F2 B0 BF 42 0C 66 BB
[=] Counter 0… 00 00 00
[=] Tearing 0… 00
[=] Counter 1… 00 00 00
[=] Tearing 1… 00
[=] Counter 2… 00 00 00
[=] Tearing 2… BD
[=] Max data page… 229 ( 920 bytes )
[=] Header size… 56 bytes

[=] -------------------------------------------------------------
[=] block# | data |lck| ascii
[=] ---------±------------±–±-----
[=] 0/0x00 | 04 5E B0 62 | | .^.b
[=] 1/0x01 | 32 0A 54 80 | | 2.T.
[=] 2/0x02 | EC 48 0F 00 | | .H…
[=] 3/0x03 | E1 10 6D 00 | 1 | …m.
[=] 4/0x04 | 03 13 D1 01 | 0 | …
[=] 5/0x05 | 0F 55 05 28 | 0 | .U.(
[=] 6/0x06 | x9 x4 x1 x9 | 0 | xxx)
[=] 7/0x07 | x0 x2 x1 x2 | 0 | xxx
[=] 8/0x08 | xD x7 x1 x5 | 0 | -xxx
[=] 9/0x09 | 37 FE 00 00 | 0 | x…
[=] 10/0x0A | 79 6F 75 20 | 0 | you
[=] 11/0x0B | 61 6E 64 72 | 0 | andr
[=] 12/0x0C | 65 77 54 0F | 0 | ewT.
[=] 13/0x0D | 13 61 6E 64 | 0 | .and
[=] 14/0x0E | 72 6F 69 64 | 0 | roid
[=] 15/0x0F | 2E 63 6F 6D | 0 | .com
[=] 16/0x10 | 3A 70 6B 67 | 0 | :pkg
[=] 17/0x11 | 63 6F 6D 2E | 0 | com.
[=] 18/0x12 | 77 61 6B 64 | 0 | wakd
[=] 19/0x13 | 65 76 2E 6E | 0 | ev.n
[=] 20/0x14 | 66 63 74 61 | 0 | fcta
[=] 21/0x15 | 73 6B 73 FE | 0 | sks.
[=] 22/0x16 | 76 2E 6E 66 | 0 | v.nf
[=] 23/0x17 | 63 74 61 73 | 0 | ctas
[=] 24/0x18 | 6B 73 FE 00 | 0 | ks…
[=] 25/0x19 | 30 0A 45 4E | 0 | 0.EN
[=] 26/0x1A | 44 3A 56 43 | 0 | D:VC
[=] 27/0x1B | 41 52 44 FE | 0 | ARD.
[=] 28/0x1C | 00 00 00 00 | 0 | …
[=] 29/0x1D | 00 00 00 00 | 0 | …
[=] 30/0x1E | 00 00 00 00 | 0 | …
[=] 31/0x1F | 00 00 00 00 | 0 | …
[=] 32/0x20 | 00 00 00 00 | 0 | …
[=] 33/0x21 | 00 00 00 00 | 0 | …
[=] 34/0x22 | 00 00 00 00 | 0 | …
[=] 35/0x23 | 00 00 00 00 | 0 | …
[=] 36/0x24 | 00 00 00 00 | 0 | …
[=] 37/0x25 | 00 00 00 00 | 0 | …
[=] 38/0x26 | 00 00 00 00 | 0 | …
[=] 39/0x27 | 00 00 00 00 | 0 | …
[=] 40/0x28 | 00 00 00 00 | 0 | …
[=] 41/0x29 | 00 00 00 00 | 0 | …
[=] 42/0x2A | 00 00 00 00 | 0 | …
[=] 43/0x2B | 00 00 00 00 | 0 | …
[=] 44/0x2C | 00 00 00 00 | 0 | …
[=] 45/0x2D | 00 00 00 00 | 0 | …
[=] 46/0x2E | 00 00 00 00 | 0 | …
[=] 47/0x2F | 00 00 00 00 | 0 | …
[=] 48/0x30 | 00 00 00 00 | 0 | …
[=] 49/0x31 | 00 00 00 00 | 0 | …
[=] 50/0x32 | 00 00 00 00 | 0 | …
[=] 51/0x33 | 00 00 00 00 | 0 | …
[=] 52/0x34 | 00 00 00 00 | 0 | …
[=] 53/0x35 | 00 00 00 00 | 0 | …
[=] 54/0x36 | 00 00 00 00 | 0 | …
[=] 55/0x37 | 00 00 00 00 | 0 | …
[=] 56/0x38 | 00 00 00 00 | 0 | …
[=] 57/0x39 | 00 00 00 00 | 0 | …
[=] 58/0x3A | 00 00 00 00 | 0 | …
[=] 59/0x3B | 00 00 00 00 | 0 | …
[=] 60/0x3C | 00 00 00 00 | 0 | …
[=] 61/0x3D | 00 00 00 00 | 0 | …
[=] 62/0x3E | 00 00 00 00 | 0 | …
[=] 63/0x3F | 00 00 00 00 | 0 | …
[=] 64/0x40 | 00 00 00 00 | 0 | …
[=] 65/0x41 | 00 00 00 00 | 0 | …
[=] 66/0x42 | 00 00 00 00 | 0 | …
[=] 67/0x43 | 00 00 00 00 | 0 | …
[=] 68/0x44 | 00 00 00 00 | 0 | …
[=] 69/0x45 | 00 00 00 00 | 0 | …
[=] 70/0x46 | 00 00 00 00 | 0 | …
[=] 71/0x47 | 00 00 00 00 | 0 | …
[=] 72/0x48 | 00 00 00 00 | 0 | …
[=] 73/0x49 | 00 00 00 00 | 0 | …
[=] 74/0x4A | 00 00 00 00 | 0 | …
[=] 75/0x4B | 00 00 00 00 | 0 | …
[=] 76/0x4C | 00 00 00 00 | 0 | …
[=] 77/0x4D | 00 00 00 00 | 0 | …
[=] 78/0x4E | 00 00 00 00 | 0 | …
[=] 79/0x4F | 00 00 00 00 | 0 | …
[=] 80/0x50 | 00 00 00 00 | 0 | …
[=] 81/0x51 | 00 00 00 00 | 0 | …
[=] 82/0x52 | 00 00 00 00 | 0 | …
[=] 83/0x53 | 00 00 00 00 | 0 | …
[=] 84/0x54 | 00 00 00 00 | 0 | …
[=] 85/0x55 | 00 00 00 00 | 0 | …
[=] 86/0x56 | 00 00 00 00 | 0 | …
[=] 87/0x57 | 00 00 00 00 | 0 | …
[=] 88/0x58 | 00 00 00 00 | 0 | …
[=] 89/0x59 | 00 00 00 00 | 0 | …
[=] 90/0x5A | 00 00 00 00 | 0 | …
[=] 91/0x5B | 00 00 00 00 | 0 | …
[=] 92/0x5C | 00 00 00 00 | 0 | …
[=] 93/0x5D | 00 00 00 00 | 0 | …
[=] 94/0x5E | 00 00 00 00 | 0 | …
[=] 95/0x5F | 00 00 00 00 | 0 | …
[=] 96/0x60 | 00 00 00 00 | 0 | …
[=] 97/0x61 | 00 00 00 00 | 0 | …
[=] 98/0x62 | 00 00 00 00 | 0 | …
[=] 99/0x63 | 00 00 00 00 | 0 | …
[=] 100/0x64 | 00 00 00 00 | 0 | …
[=] 101/0x65 | 00 00 00 00 | 0 | …
[=] 102/0x66 | 00 00 00 00 | 0 | …
[=] 103/0x67 | 00 00 00 00 | 0 | …
[=] 104/0x68 | 00 00 00 00 | 0 | …
[=] 105/0x69 | 00 00 00 00 | 0 | …
[=] 106/0x6A | 00 00 00 00 | 0 | …
[=] 107/0x6B | 00 00 00 00 | 0 | …
[=] 108/0x6C | 00 00 00 00 | 0 | …
[=] 109/0x6D | 00 00 00 00 | 0 | …
[=] 110/0x6E | 00 00 00 00 | 0 | …
[=] 111/0x6F | 00 00 00 00 | 0 | …
[=] 112/0x70 | 00 00 00 00 | 0 | …
[=] 113/0x71 | 00 00 00 00 | 0 | …
[=] 114/0x72 | 00 00 00 00 | 0 | …
[=] 115/0x73 | 00 00 00 00 | 0 | …
[=] 116/0x74 | 00 00 00 00 | 0 | …
[=] 117/0x75 | 00 00 00 00 | 0 | …
[=] 118/0x76 | 00 00 00 00 | 0 | …
[=] 119/0x77 | 00 00 00 00 | 0 | …
[=] 120/0x78 | 00 00 00 00 | 0 | …
[=] 121/0x79 | 00 00 00 00 | 0 | …
[=] 122/0x7A | 00 00 00 00 | 0 | …
[=] 123/0x7B | 00 00 00 00 | 0 | …
[=] 124/0x7C | 00 00 00 00 | 0 | …
[=] 125/0x7D | 00 00 00 00 | 0 | …
[=] 126/0x7E | 00 00 00 00 | 0 | …
[=] 127/0x7F | 00 00 00 00 | 0 | …
[=] 128/0x80 | 00 00 00 00 | 0 | …
[=] 129/0x81 | 00 00 00 00 | 0 | …
[=] 130/0x82 | 00 00 00 00 | 0 | …
[=] 131/0x83 | 00 00 00 00 | 0 | …
[=] 132/0x84 | 00 00 00 00 | 0 | …
[=] 133/0x85 | 00 00 00 00 | 0 | …
[=] 134/0x86 | 00 00 00 00 | 0 | …
[=] 135/0x87 | 00 00 00 00 | 0 | …
[=] 136/0x88 | 00 00 00 00 | 0 | …
[=] 137/0x89 | 00 00 00 00 | 0 | …
[=] 138/0x8A | 00 00 00 00 | 0 | …
[=] 139/0x8B | 00 00 00 00 | 0 | …
[=] 140/0x8C | 00 00 00 00 | 0 | …
[=] 141/0x8D | 00 00 00 00 | 0 | …
[=] 142/0x8E | 00 00 00 00 | 0 | …
[=] 143/0x8F | 00 00 00 00 | 0 | …
[=] 144/0x90 | 00 00 00 00 | 0 | …
[=] 145/0x91 | 00 00 00 00 | 0 | …
[=] 146/0x92 | 00 00 00 00 | 0 | …
[=] 147/0x93 | 00 00 00 00 | 0 | …
[=] 148/0x94 | 00 00 00 00 | 0 | …
[=] 149/0x95 | 00 00 00 00 | 0 | …
[=] 150/0x96 | 00 00 00 00 | 0 | …
[=] 151/0x97 | 00 00 00 00 | 0 | …
[=] 152/0x98 | 00 00 00 00 | 0 | …
[=] 153/0x99 | 00 00 00 00 | 0 | …
[=] 154/0x9A | 00 00 00 00 | 0 | …
[=] 155/0x9B | 00 00 00 00 | 0 | …
[=] 156/0x9C | 00 00 00 00 | 0 | …
[=] 157/0x9D | 00 00 00 00 | 0 | …
[=] 158/0x9E | 00 00 00 00 | 0 | …
[=] 159/0x9F | 00 00 00 00 | 0 | …
[=] 160/0xA0 | 00 00 00 00 | 0 | …
[=] 161/0xA1 | 00 00 00 00 | 0 | …
[=] 162/0xA2 | 00 00 00 00 | 0 | …
[=] 163/0xA3 | 00 00 00 00 | 0 | …
[=] 164/0xA4 | 00 00 00 00 | 0 | …
[=] 165/0xA5 | 00 00 00 00 | 0 | …
[=] 166/0xA6 | 00 00 00 00 | 0 | …
[=] 167/0xA7 | 00 00 00 00 | 0 | …
[=] 168/0xA8 | 00 00 00 00 | 0 | …
[=] 169/0xA9 | 00 00 00 00 | 0 | …
[=] 170/0xAA | 00 00 00 00 | 0 | …
[=] 171/0xAB | 00 00 00 00 | 0 | …
[=] 172/0xAC | 00 00 00 00 | 0 | …
[=] 173/0xAD | 00 00 00 00 | 0 | …
[=] 174/0xAE | 00 00 00 00 | 0 | …
[=] 175/0xAF | 00 00 00 00 | 0 | …
[=] 176/0xB0 | 00 00 00 00 | 0 | …
[=] 177/0xB1 | 00 00 00 00 | 0 | …
[=] 178/0xB2 | 00 00 00 00 | 0 | …
[=] 179/0xB3 | 00 00 00 00 | 0 | …
[=] 180/0xB4 | 00 00 00 00 | 0 | …
[=] 181/0xB5 | 00 00 00 00 | 0 | …
[=] 182/0xB6 | 00 00 00 00 | 0 | …
[=] 183/0xB7 | 00 00 00 00 | 0 | …
[=] 184/0xB8 | 00 00 00 00 | 0 | …
[=] 185/0xB9 | 00 00 00 00 | 0 | …
[=] 186/0xBA | 00 00 00 00 | 0 | …
[=] 187/0xBB | 00 00 00 00 | 0 | …
[=] 188/0xBC | 00 00 00 00 | 0 | …
[=] 189/0xBD | 00 00 00 00 | 0 | …
[=] 190/0xBE | 00 00 00 00 | 0 | …
[=] 191/0xBF | 00 00 00 00 | 0 | …
[=] 192/0xC0 | 00 00 00 00 | 0 | …
[=] 193/0xC1 | 00 00 00 00 | 0 | …
[=] 194/0xC2 | 00 00 00 00 | 0 | …
[=] 195/0xC3 | 00 00 00 00 | 0 | …
[=] 196/0xC4 | 00 00 00 00 | 0 | …
[=] 197/0xC5 | 00 00 00 00 | 0 | …
[=] 198/0xC6 | 00 00 00 00 | 0 | …
[=] 199/0xC7 | 00 00 00 00 | 0 | …
[=] 200/0xC8 | 00 00 00 00 | 0 | …
[=] 201/0xC9 | 00 00 00 00 | 0 | …
[=] 202/0xCA | 00 00 00 00 | 0 | …
[=] 203/0xCB | 00 00 00 00 | 0 | …
[=] 204/0xCC | 00 00 00 00 | 0 | …
[=] 205/0xCD | 00 00 00 00 | 0 | …
[=] 206/0xCE | 00 00 00 00 | 0 | …
[=] 207/0xCF | 00 00 00 00 | 0 | …
[=] 208/0xD0 | 00 00 00 00 | 0 | …
[=] 209/0xD1 | 00 00 00 00 | 0 | …
[=] 210/0xD2 | 00 00 00 00 | 0 | …
[=] 211/0xD3 | 00 00 00 00 | 0 | …
[=] 212/0xD4 | 00 00 00 00 | 0 | …
[=] 213/0xD5 | 00 00 00 00 | 0 | …
[=] 214/0xD6 | 00 00 00 00 | 0 | …
[=] 215/0xD7 | 00 00 00 00 | 0 | …
[=] 216/0xD8 | 00 00 00 00 | 0 | …
[=] 217/0xD9 | 00 00 00 00 | 0 | …
[=] 218/0xDA | 00 00 00 00 | 0 | …
[=] 219/0xDB | 00 00 00 00 | 0 | …
[=] 220/0xDC | 00 00 00 00 | 0 | …
[=] 221/0xDD | 00 00 00 00 | 0 | …
[=] 222/0xDE | 00 00 00 00 | 0 | …
[=] 223/0xDF | 00 00 00 00 | 0 | …
[=] 224/0xE0 | 00 00 00 00 | 0 | …
[=] 225/0xE1 | 4E 45 78 54 | 0 | NExT
[=] 226/0xE2 | 00 00 7F BD | 0 | …
[=] 227/0xE3 | 04 00 00 E3 | 0 | …
[=] 228/0xE4 | 00 05 00 00 | 0 | …
[=] 229/0xE5 | 00 00 00 00 | 0 | …
[=] 230/0xE6 | 00 00 00 00 | 0 | …
[=] ---------------------------------
[=] Using UID as filename
[+] saved 980 bytes to binary file hf-mfu-045EB0320A5480-dump-1.bin
[+] saved 245 blocks to text file hf-mfu-045EB0320A5480-dump-1.eml
[+] saved to json file hf-mfu-045EB0320A5480-dump-1.json

This is the error I get when trying to scan on android.

i think at this point i would just zero out all the blocks and see if you can use nfc tools or tagwriter to re-write a basic ndef record to it. i believe you can do this by using the write block command over and over;

hf mfu wrbl -b 4 -d 00000000
hf mfu wrbl -b 5 -d 00000000
hf mfu wrbl -b 6 -d 00000000
hf mfu wrbl -b 7 -d 00000000
hf mfu wrbl -b 8 -d 00000000
hf mfu wrbl -b 9 -d 00000000
hf mfu wrbl -b 10 -d 00000000
hf mfu wrbl -b 11 -d 00000000
hf mfu wrbl -b 12 -d 00000000
hf mfu wrbl -b 13 -d 00000000
hf mfu wrbl -b 14 -d 00000000
hf mfu wrbl -b 15 -d 00000000

I think 15 blocks is enough for android to give up.

2 Likes