Metadata-Version: 2.4
Name: amiibo-converter
Version: 0.2.0
Summary: Command-line tool to convert, duplicate, and randomize amiibo dumps.
Author: Lanjelin
License: GNU General Public License v3.0
Keywords: amiibo,nfc,ntag,converter,tool
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Environment :: Console
Classifier: Topic :: Utilities
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: cffi==2.0.0
Requires-Dist: cryptography==46.0.5
Requires-Dist: pyamiibo==0.2
Requires-Dist: pycparser==3.0
Dynamic: license-file

# AmiiboConverter

Convert, duplicate, randomize. A tool for amiibo.

## What can it do?

Reads .bin or .nfc-files, amiibo ID directly, or as a list from a .txt-file, and outputs it as a .bin or .nfc-file. json-files or the full database from [amiiboapi.com](https://www.amiiboapi.com/) is also supported.

Does recursive scan of folders, where it outputs the new files in the same directory, or a new with the same folder structure.

Option to randomize UID, and make multiple outputs of the same source-file (for games like BOTW).

## How to do it?

Run the script from the terminal, passing the following arguments:  
`-m` required: mode to run, bin2bin, bin2nfc, id2bin, id2nfc, nfc2bin, nfc2nfc, json2bin or json2nfc. Multiple files or strings can be parse at the same time, separated by space.  
`-i` required: path, file or string to parse as input.  
`-o` optional: path or file to write the output.  
`-r` optional: randomize UID of the output.  
`-d` optional: number of copies to write (`-r` is automatic set when running this).  
`-v` optional: display more info when running, `-vv` for even more info.  
`-h` display the help text.

**examples:**  
`amiibo-converter -m bin2nfc -i bin -o nfc` will convert all .bin-files found in the folder ./bin, convert them to .nfc, and store them in a folder called ./nfc  
`amiibo-converter -m id2bin -i id.txt -d 3` will take all the amiibo ID found in id.txt, and make 3 new .bin-files (with random UID) per ID found.
`amiibo-converter -m json2nfc -i mario.json -o nfc -d 3` will take all the amiibo ID found in mario.json, and make 3 new .nfc-files (with random UID) per ID found.

When inputing amiibo ID, filename can be set by adding name and a semicolon before the ID. Like `Luigi:0x00010000...` or `Daisy:00130000037a..`, same goes for .txt-files, where one ID per line applies as well. If no name is added, the ID will be used as filename.

## What does it require?

Python 3.10 or newer

### Install from PyPI

Install the latest release directly from PyPI:

```sh
python -m pip install amiibo-converter
amiibo-converter -m bin2nfc -i bin -o nfc
```

This installs the bundled dependencies automatically.  

You can also install a local checkout:

```sh
python -m pip install .
```

For anything but pure bin-to-nfc / nfc-to-bin conversion, you need the correct decryption keys in the same folder as you execute the script, these are files commonly called `unfixed-info.bin` and `locked-secret.bin`. A merged version of these files called `key_retail.bin` can also be used. These files are not provided.

## A small warning at the end!

Keep a backup of your source files, whether it be .bin or .nfc. This tool can overwrite your files. Generated files with a random UID are working at the moment, but they may not work in the future.

## Disclaimer

AmiiboConverter is intended for educational and archival purposes only, please only use this tool on amiibo™ you already own.
AmiiboConverter is not affiliated, associated, authorized, endorsed by, or in any way officially connected with Nintendo. No amiibo™ or digital representations of amiibo™ are included in this project.

## License

AmiiboConverter is released under the GNU General Public License v3.0 License. See the LICENSE file for further details.
