Giter VIP home page Giter VIP logo

amiiboconverter's Introduction

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.

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, or nfc2nfc. 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:
python AmiiboConverter.py -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
python AmiiboConverter.py -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.

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?

Running via Docker/Podman Container

Below is an example of running this project as a Docker/Podman container.

If you have backed up Amiibo data you may have a directory that looks like the following:

❯ tree ~/Downloads/amiino-tloz
/Users/v1k0d3n/Downloads/amiino-tloz
├──-BotW
│   ├── Bokoblin.bin
│   ├── Daruk.bin
│   ├── Guardian.bin
│   ├── Link (Archer).bin
│   ├── Link (Rider).bin
│   ├── Mipha.bin
│   ├── Revali.bin
│   ├── Urbosa.bin
│   └── Zelda.bin

You can run the container like this (taking note of the volume mount):

podman run -v /Users/v1k0d3n/Downloads/amiino-tloz:/opt/AmiiboConverter/data \
  quay.io/v1k0d3n/amiiboconverter:latest \
  -m bin2nfc -i BotW -o ./nfc/BotW

Which will result in the following:

❯ tree ~/Downloads/amiino-tloz
/Users/v1k0d3n/Downloads/amiino-tloz
├── BotW
│   ├── Bokoblin.bin
│   ├── Daruk.bin
│   ├── Guardian.bin
│   ├── Link (Archer).bin
│   ├── Link (Rider).bin
│   ├── Mipha.bin
│   ├── Revali.bin
│   ├── Urbosa.bin
│   └── Zelda.bin
└── nfc
    └── BotW
        ├── Bokoblin.nfc
        ├── Daruk.nfc
        ├── Guardian.nfc
        ├── Link (Archer).nfc
        ├── Link (Rider).nfc
        ├── Mipha.nfc
        ├── Revali.nfc
        ├── Urbosa.nfc
        └── Zelda.nfc

Running via Python

Python 3.8 or newer

You need the libraries in requirements.txt, install them using something like python -m pip install -r requirements.txt

For anything but pure bin-to-nfc / nfc-to-bin conversion, you need the correct decryption keys in the same folder as 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.

amiiboconverter's People

Contributors

lanjelin avatar v1k0d3n avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.