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

Allow rewriting of amiibo tags [merged] #729

Closed
1 task done
Golem642 opened this issue Mar 29, 2024 · 28 comments
Closed
1 task done

Allow rewriting of amiibo tags [merged] #729

Golem642 opened this issue Mar 29, 2024 · 28 comments

Comments

@Golem642
Copy link

Golem642 commented Mar 29, 2024

Feature Explanation

Hello, recently got a pack of Ntag215 and i tried writing an amiibo to one of them. Then I tried overwriting for a new Amiibo model but it didn't work, so i searched and i found out you can't rewrite amiibo serial and such because the 3DS would check for the read-only bytes as said in #18

So i decided to make an IPS patch for it (https://github.com/Golem642/NFCheckRem/) so that it wouldn't check those bytes when reading/writing.
So now I'm asking : can you implement a feature so we can write amiibos without locking them to read-only ?

That would be very useful, thx

Usage Confirmation

  • I confirm this is a request for a new feature, not an issue
@AbandonedCart

This comment was marked as resolved.

@Golem642

This comment was marked as resolved.

@AbandonedCart

This comment was marked as resolved.

@Golem642

This comment was marked as resolved.

@Golem642

This comment was marked as resolved.

@AbandonedCart

This comment was marked as resolved.

@AbandonedCart

This comment was marked as resolved.

@Golem642

This comment was marked as resolved.

@AbandonedCart

This comment was marked as resolved.

@Golem642

This comment was marked as resolved.

@AbandonedCart

This comment was marked as resolved.

@AbandonedCart

This comment was marked as resolved.

@Golem642

This comment was marked as resolved.

@AbandonedCart

This comment was marked as resolved.

@Golem642
Copy link
Author

Golem642 commented May 5, 2024

Good news : after a month of not having anough time to think about this and a bit more tinkering, i found a working solution !
Currently the patch can only be manually applied by editing the values in the memory using Rosalina's process manager, but i can confirm it allows reading of non write-locked nfc tags (and actual amiibos still work too, but not blanks NTAG215 thankfully)
Gonna test the writing, my excitement is kinda high rn (second time using ghidra, first time doing something useful out of it)

Edit : as expected, writing with the amiibo settings app on my 3ds (which is what i'm using) is working, and it doesn't re-lock the tag. Also tested re-reading it after, and it works as well. Just need to publish everything now !

2nd edit : i forgot that even if the quick custom tagmo build i made allows for rewriting tags, it also removes data inside it so my mii and name was erased from the tag lmao. But it works ! Successfully changed the amiibo type, and my 3ds scans perfectly for it (even though there's no data on it anymore)

@Golem642
Copy link
Author

Golem642 commented May 8, 2024

I have a question : since the point of this feature is to have rewritable tags, would it be possible to have a "Reset NTAG" kind of thing ? Like it would completely empty an NTAT215 and put it back to factory default or whatever
I know amiibos inner data are write-locked by a key generated with "unfixed infos" and "locked secret", but idk how to calculate it so i can't do it myself. Do you have a documentation on how to do that ?
It would be nice if say i want to use an old ntag for something else than being an amiibo

@AbandonedCart
Copy link
Contributor

https://gbatemp.net/threads/diy-amiibo-cards.406978/

That is essentially all the documentation, along with anything that can be taken from

https://github.com/socram8888/amiitool

@Golem642
Copy link
Author

Golem642 commented Jun 7, 2024

Ok so everything works for 3DS/2DS. The patch applies correctly and you can read both normal and unlocked tags
I made a release in my repo, and inside i also included a version of TagMo where i commented the lock bits parts so it can write unlocked tags.
Does this bother you or can i leave it in ?

@AbandonedCart

This comment was marked as resolved.

@Golem642

This comment was marked as resolved.

@AbandonedCart

This comment was marked as resolved.

@AbandonedCart

This comment was marked as resolved.

@Golem642
Copy link
Author

No worries, take your time.
If you have a bit more time, it would be great to perform a check for unlocked tags when writing for tags with the lock to avoid accidental locking and losing a rewritable tag (trying to rewrite a locked tag doesn't need a check, it returns an error when attempting to write without crashing the app).
In any case, thank you for taking the time for this feature !

@AbandonedCart

This comment was marked as resolved.

@AbandonedCart

This comment was marked as resolved.

@Golem642

This comment was marked as resolved.

@AbandonedCart

This comment was marked as resolved.

@AbandonedCart
Copy link
Contributor

AbandonedCart commented Jan 2, 2025

The context (3 dot menu) has a checkbox to toggle skipping lock info for the individual write / update

The advanced section of settings now has an option to automatically enable skipping lock info

Enabling the settings option will automatically check the box, but it can be unchecked for the individual write / update

Disabling the settings option will leave the box unchecked, but allow it to be enabled for the individual write / update

@AbandonedCart AbandonedCart changed the title Allow writing of non-readonly amiibo tags Allow writing of non-readonly amiibo tags [merged] Jan 11, 2025
@AbandonedCart AbandonedCart pinned this issue Jan 11, 2025
@AbandonedCart AbandonedCart changed the title Allow writing of non-readonly amiibo tags [merged] Allow rewriting of amiibo tags [merged] Jan 11, 2025
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

2 participants