Topic: ulread: sample application for Ultralights and NTAG21x
Though it's named ulread it can also write Ultralight, NTAG213, NTAG215 and NTAG216. I've only tested it using NTAG215, though.
You may download and submit PRs in my GitHub as "ulread", which apparently I can't link here due to the forum complaining about too many URLs in this message.
Both ulread and ulwrite use standard input for I/O, and stderr for debugging and logging. Some examples:
This will read the whole tag (except for write-only fields) and write the contents to file "dump.bin"
./ulread > dump.bin
This will read the whole tag and write the contents to screen in hexadecimal, reading up to 10 pages starting at page 25:
./ulread -s 25 -c 10 | xxd
This will write "CAFE" in ASCII to page 40 using write key 0xDEADBEEF:
echo -n "CAFE" | ./ulwrite -k DEADBEEF -s 40
This will write a dump to a tag, and will ignore any errors (note lenient "-l" switch). Also note this is somewhat dangerous as you may lock your tag if you're using an incorrect key:
cat dump.bin | ./ulwrite -k DEADBEEF -l
I made this tool due to a lack of anything to read amiibos, which employ NTAG215.