Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Randomize serial #278

Closed
AbandonedCart opened this issue Oct 23, 2021 · 15 comments
Closed

Randomize serial #278

AbandonedCart opened this issue Oct 23, 2021 · 15 comments

Comments

@AbandonedCart
Copy link
Contributor

AbandonedCart commented Oct 23, 2021

amiibo Serial Number format - NNNNNNLLLLLN - N stands for Number, L stand for Letter
Broken up into usable parts: NN-N-NNN-LLLL-LN

The first two numbers represent the corresponding week of the year the amiibo was produced. 01 = 1st week of January. Many amiibo are made during a week of production so this is where the number could be the same. MOST amiibo HAVE MORE THEN ONE WEEK OF PRODUCTION so this is how they can be different. This is also a way you could determine an OOB reprint or NA vs EU vs JP version IF you knew the production weeks for each region.

The 3rd Number represents the last digit of the year the amiibo was produced. 4 = 2014, 5 = 2015. Fun fact - any OOB wave 1 through 3 with a 3rd digit '5' is a reprint.

The next 3 numbers as far as I know are always 000. I am not sure they have any significance at this time or if they ever will. They can be ignored for now.

The First 4 letters represent the character - AAAA is Smash Mario, all smash Marios will be AAAA.
The last letter and number corresponds to the factory/building number the amiibo was produced in. Most common ones are S1,S2,W1,W2. These last 2 can be ignored too.

https://www.reddit.com/r/amiibo/comments/3jw88z/amiibo_serial_numbers/

@AbandonedCart
Copy link
Contributor Author

@burndive @ca1e and whoever else was looking for random serial numbers...

Where are you getting the originals? Four of the letters are finite values that have to match. As far as I could tell, we aren't loading that data.

@AbandonedCart
Copy link
Contributor Author

https://en-americas-support.nintendo.com/app/answers/detail/a_id/11021

I can pull them from there, but that is going to take approximately forever.

@burndive
Copy link

There are a couple of projects out there that do amiibo serial randomization. Maybe looking at how they do things will help?

https://github.com/DarkIrata/AmiiboSN-Changer
https://gbatemp.net/threads/release-amiibo-bin-serial-changer.464702/

@AbandonedCart
Copy link
Contributor Author

So it's all been projects 3+ years old with only about 1/3 of the Amiibos released. It also wasn't actually part of the original N2 app, so I don't feel guilty if it doesn't get included with all of the N2 stuff.

@burndive
Copy link

The idea is to write an amiibo based on a bin file you already have (so you can copy the character ID, e.g., AAAA for Smash Mario) from the bin, but change the serial number so the game thinks it's distinct.

Usually you would want several of these in a row, and scan them all into BOTW, or some other game that gives you items, or if you wanted to have more than one of the same character in Smash.

@AbandonedCart
Copy link
Contributor Author

AbandonedCart commented Oct 23, 2021

I understand the purpose, but it doesn't make it any less tedious to write that into code and have to make all the databases, too. There are currently 205 amiibos out there and each one requires a specific four letters. It's basically making a second amiiboapi.

@burndive
Copy link

I don't think it's necessary to have a database. I didn't see anything like that in the code of Amiibo SN Changer. It looks like it just generates some random bytes, and replaces the serial number of the original.

It doesn't have to be meaningful; just different. If there are bytes that need to stay the same because they identify the character, just don't change them.

@AbandonedCart
Copy link
Contributor Author

If you have code all mapped out, the pull request section doesn't get much attention.

@ca1e
Copy link
Contributor

ca1e commented Oct 23, 2021

see https://gbatemp.net/threads/release-amiibo-bin-serial-changer.464702/.
we dont need to make a second amiiboapi, it just random the ntag serial number but not the amiibo's.
the first byte is always 0x04,and the fourth byte cannt be the 0x88, thats all,see the attach I upload to see the python code
amiibo.zip
here is the amiibo wiki I found https://wiki.gbatemp.net/wiki/Amiibo
we just random the UID & BCC in page0 & page1

@AbandonedCart
Copy link
Contributor Author

AbandonedCart commented Oct 23, 2021

I figured there was going to need to be the ability to generate a random serial out of thin air.

I was also hoping to have some sort of visual representation that could be compared to known values, as in
fb578e1

BUT a randomize method that isn't being used was already written, along with a disabled method to store it.

@AbandonedCart AbandonedCart changed the title Randomize serial (WIP) Randomize serial Oct 25, 2021
@AbandonedCart
Copy link
Contributor Author

Before anyone freaks out, 46bb8f2 is enabling code that was already here long before I showed up, but was currently disabled. I haven't actually tested it. All that was done is putting a UI to it.

@iainsmacleod
Copy link

Can someone explain why this is closed. I'm still seeing the once per day error, indicating that the serial is not being randomized. Just looking to understand. Thanks

@AbandonedCart
Copy link
Contributor Author

The feature has been available for two years.

@iainsmacleod
Copy link

That being said, why do I see the error in TOTK stating I can only use the amiibo once a day? Thanks for the prompt response fwiw

@AbandonedCart
Copy link
Contributor Author

Could be any of 100 reasons. Could be a Power Tag, an old build, trying to update a tag that's already written. Seems like a good place to start would be to install the newest version and follow the instructions. From there, you can submit a bug report if it doesn't work. I have a feeling it won't come to that, though.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants