Using a Flipper Zero to Emulate Amiibo NFC
DISCLAIMER: All Amiibo data has been retrieve from my own Amiibos. I will never post sources of Amiibo data. I will only show you how to back up your own amiibo data and store/emulate them on your Flipper Zero. Lastly, as a good OSS citizen, I will also credit developers of any code used within this blog post.
Ok, so you got your new Swiss Army Knife of wireless tools - the new-ish Flipper Zero. Maybe you've heard about this tool from the LTT video. Maybe you heard about this in underground security forums. Either way, you're here because you want to know how to convert those .bin
amiibo files to a readable .nfc
format that the Flipper Zero can read. I can make this quick and painless.
Giving credit to whom it belongs
First off, I want to give all the credit to this Lanjelin for the AmiiboConverter project. They wrote this extremely helpful project. All I did was containerize it and run it in a Docker container. There are ways to grab amiibo data directly in an .nfc
format, but because of what I use this blog for, I will not be posting these options here. I will be using my own amiibos for demonstration.
Procedure for Podman (or Docker)
The quickest and easiest way, by far, is to leverage Podman (or Docker, if you're into that sort of thing). I would suggest Podman Desktop because it's becoming way more feature-rich than Docker, especially if you consider that Docker now rate limits and charges just for the privilege of use. (No thanks).
The first thing you're going to want to do is locate the directory that stores your amiibo .bin
files. This could be a backup, but no judging from me on where you get these backups from. Let me show you a tree
of the directory for these four amiibos in the picture above. The container image is stored on Quay.io.
❯ tree ~/Downloads/amiibos/
/Users/v1k0d3n/Downloads/amiibos/
└── collection
├── Dread E.M.M.I.bin
├── Dread Samus.bin
├── Link Archer.bin
└── Link Skyward Sword.bin
1 directory, 4 files
Next, you can use the container I created for Lanjelin's project like below.
podman run \
-v /Users/v1k0d3n/Downloads/amiibos:/opt/AmiiboConverter/data \
quay.io/v1k0d3n/amiiboconverter:latest \
-m bin2nfc \
-i collection \
-o ./nfc/out
You will see a report of Done!
if this is completed successfully. The way I created the container is to use ENTRYPOINT
for the python3 AmiiboConverter.py
portion of the command with a CMD
of the -h
or help menu. To get this help menu, just run the container without any other flags (this is by design).
❯ podman run quay.io/v1k0d3n/amiiboconverter:latest
usage: AmiiboConverter.py [-h] -m MODE -i [INPUT ...] [-o OUTPUT] [-r] [-v]
[-d DUPLICATE_FILES]
options:
-h, --help show this help message and exit
-m MODE, --mode MODE Mode to run; bin2bin, bin2nfc, id2bin, id2nfc,
nfc2bin, or nfc2nfc.
-i [INPUT ...], --input [INPUT ...]
Single file or directory tree to convert.
-o OUTPUT, --output OUTPUT
Directory or file to save to. Will be created if it
doesn't exist. If not specified, the output will be
stored in the same location as the original file.
-r, --random-uid Set to randomize UID of the output.
-v, --verbose Show extra info: pass -v to see what's going on, pass
-vv to get debug info.
-d DUPLICATE_FILES, --duplicate-files DUPLICATE_FILES
Do you want duplicates?
If you have a Flipper Zeros, you should sort of know what you're doing by now anyway.
The resulting tree
output should looke like the following:
❯ tree ~/Downloads/amiibos/
/Users/bjozsa/Downloads/amiibos/
├── collection
│ ├── Dread E.M.M.I.bin
│ ├── Dread Samus.bin
│ ├── Link Archer.bin
│ └── Link Skyward Sword.bin
└── nfc
└── out
├── Dread E.M.M.I.nfc
├── Dread Samus.nfc
├── Link Archer.nfc
└── Link Skyward Sword.nfc
3 directories, 8 files
Copy .nfc files onto the Flipper Zero
So now that you have your .nfc
files ready to go and formatted to go on the Flipper Zero, you have a couple of methods to get the files onto the device. I'm going to show one method, which is with using the desktop client (for MacOS, for the purposes of this blog post). First, fire up the qFlipper
application.
On the SD card, within the nfc
folder, you can add another directory called Amiibo
, or whatever you want to name it. You can navigate to this folder any time, once you've uploaded your amiibos.
Once you've uploaded your .nfc
files, you can emulate them. I probably don't need to show you this (I will anyway), but if you want to emulate the amiibo then navigate to the following path:
NFC
> Saved
> [the amiibo folder]
> [the amiibo .nfc file]
Then click on > Emulate
The Flipper Zero will be broadcasting the amiibo
All you have to do is tap the Flipper Zero on the right Joycon analog joystick.
Wrapping up
And that's really all there is to it! Let me know if you have any questions by hitting me up on Twitter. As always, with great toys like the Flipper Zero, comes great responsibility. This one of the more friendly ways to use the Flipper Zero. All I can say is stay nice, and do unto others as you'd have done to you.