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
hf_mfu_amiibo_restore succeed but invalid for the switch #1861
Comments
Both work great for me and my main test console has been the Nintendo Switch, in particular Breath of the Wild. I have tested briefly with a Nintendo Wii U using Yoshi's Woolly World and both the simulator and restored NTAG215 worked as expected. If you're using the "pregen" Amiibos, you'll need to first encrypt them using a null UID. |
How to encrypt using a null UID? I using the script https://github.com/RfidResearchGroup/proxmark3/blob/master/client/pyscripts/amiibo_change_uid.py to change the UID |
Sorry, I was thinking about something different when I said null UID. The proxmark3 scripts will only write/restore a binary as if it were read from an existing Amiibo. This means the data is assumed to be encrypted when estoring to a card. So for a pregen Amiibo, your first step will be to encrypt it before using the script to restore it to an NTAG215. Use a tool such as |
Would you happen to know pyamiibo? The amiibo_change_uid.py base on pyamiibo. I thought it was the same as the |
They serve the same functionality. You may use PyAmiibo as well. If your Amiibo data is decrypted then it must be encrypted before writing it to a tag. The UID and Amiibo identification blocks are NOT encrypted. If you are using software that only checks those pieces then it'll succeed. However, software that checks game data blocks will assume it's encrypted -- so if you have not encrypted the data properly, then the game may not work correctly with that tag. If you dump a real Amiibo then the game data will be encrypted. This would be the perfect input into the proxmark3 scripts. |
Right, I have no idea if your originating data is correct to begin with. Next step would be to restore it to the card using the new card's PWD. |
My Amiibo data is encrypted. And it's dumped from a real Amiibo. My NTAG215 can not modify the UID, so I think I only need to update the UID of bin file. I run Then run "script run hf_mfu_amiibo_restore -f wolf-dump-pm3.bin" It's right? |
The restore script will run amiibo_change_uid for you. You only need to provide the new card's PWD and path to the bin file. |
I try restore the dump data, happened errors: [usb] pm3 --> script run hf_mfu_amiibo_restore -f hf-mfu-045A397ADF6180-dump.bin -k FFFFFFFF
[+] executing lua /usr/local/Cellar/proxmark3/4.15864/bin/../share/proxmark3/luascripts/hf_mfu_amiibo_restore.lua
[+] args '-f hf-mfu-045A397ADF6180-dump.bin -k FFFFFFFF'
----------------------------------------
----------------------------------------
Loading data from hf-mfu-045A397ADF6180-dump.bin
game: nil
[-] ⛔ error - .../../share/proxmark3/luascripts/hf_mfu_amiibo_restore.lua:119: attempt to index field '?' (a nil value)
[+] finished hf_mfu_amiibo_restore Should I remove the header data? |
header00040402 data045a39ef |
restore success, but still not worked... Is there any way to troubleshoot the problem? |
Looks like an off-by-1. Code change here: #1863 Dumping an Amiibo:
and restoring it to a new tag:
|
It looks like it has the same effect as my manual removal. But the Switch can not identify the new card... |
Not sure what problem you're running into. I've cloned a few dozen Amiibo that work on the Wii U, Switch, and reportedly with 3DS. If you're receiving errors while writing, or attempting to re-use an already flashed NTAG215, then your success will vary. |
If anyone has the same problem as me, please feedback there... |
It's quite difficult to understand what's happening with very little context. From your screenshot, it appears you have 4 dumps from 4 different cards. There's not much use in comparing the differing bytes since some of those bytes are derived from the UID. PWD which you've circled at offset 532 in particular is derived from the UID. The bytes circled with ??? are generated by PyAmiibo/amiitool or whatever tool you used to flash the tag. In your last two dumps, you have the magic bytes F110FFEE at byte offset 4. These is the incorrect location. From an Amiibo dump that I have laying on my hard disk, you can see F110FFEE is at offset 12. This would correspond to block 3 in hf_mfu_restore_amiibo.
|
Also, does "-de" happen to refer to decrypted? If you're using amiitool or an amiitool-like program to decrypt your Amiibo data, then it re-shuffles the offsets of where data is stored. The UID is the first block on an NTAG215. After the encrypted dump is run through amiitool for decryption then you can see the UID shifting toward the end of the file. So as I said previously, you must re-encrypt the file before giving it to the proxmark3 script. Here's the code from amiitool that shifts the layout of the data blocks:
|
I'm sorry I didn't make myself clear. There are two cards, one can work, another one not. And got the |
TBH, I don't usually deal with the decrypted data so I can't offer help there. All of my pre-generated Amiibo's have been encrypted already. If I clone an existing Amiibo then writing its encrypted image to a fresh NTAG215 has always worked for me unless I get errors while writing to the card. This usually happens if the tag is not positioned correctly. If you watch for errors from proxmark3, then you can cancel it and re-flash the same card if you're quick enough. Once the lock bytes have been written out, then parts of the tag become readonly. You haven't shared any of your proxmark3 output. Can you? What game and Amiibos are you using? |
I try using a big card, and it worked!! Maybe because not fully restore the data into the small round card |
One last question, Could we validate the data before writing the lock block? |
[usb] pm3 --> script run hf_mfu_amiibo_restore -f hf-mfu-045A397ADF6180-dump.bin -k FFFFFFFF
[+] executing lua /usr/local/Cellar/proxmark3/4.15864/bin/../share/proxmark3/luascripts/hf_mfu_amiibo_restore.lua
[+] args '-f hf-mfu-045A397ADF6180-dump.bin -k FFFFFFFF'
----------------------------------------
----------------------------------------
Loading data from hf-mfu-045A397ADF6180-dump.bin
game: The Legend of Zelda
character: Midna & Wolf Link
type: Figure
series: Legend Of Zelda
generating new Amiibo binary for NTAG215 0443FA01B30503
[+] executing python /usr/local/Cellar/proxmark3/4.15864/bin/../share/proxmark3/pyscripts/amiibo_change_uid.py
[+] args '0443FA01B30503 /tmp/lua_FiFHcg.bin /tmp/lua_TKOLy1.bin /usr/local/Cellar/proxmark3/4.15864/bin/../share/proxmark3/resources/key_retail.bin'
[+] finished amiibo_change_uid
[+] loaded 540 bytes from binary file /tmp/lua_TKOLy1.bin
[=] Restoring /tmp/lua_TKOLy1.bin to card
[=] MFU dump file information
[=] -------------------------------------------------------------
[=] Version..... 00 00 00 00 00 00 00 00
[=] TBD 0....... 00 00
[=] TBD 1....... 00
[=] Signature... 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[=] 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[=] Counter 0... 00 00 00
[=] Tearing 0... 00
[=] Counter 1... 00 00 00
[=] Tearing 1... 00
[=] Counter 2... 00 00 00
[=] Tearing 2... 00
[=] Max data page... 133 ( 536 bytes )
[=] Header size..... 56 bytes
[=] -------------------------------------------------------------
[=] block# | data |lck| ascii
[=] ---------+-------------+---+------
[=] 0/0x00 | 04 43 FA 35 | | .C.5
[=] 1/0x01 | 01 B3 05 03 | | ....
[=] 2/0x02 | B4 48 0F E0 | | .H..
[=] 3/0x03 | F1 10 FF EE | 1 | ....
[=] 4/0x04 | A5 00 06 00 | 0 | ....
[=] 5/0x05 | B5 A8 6D 01 | 0 | ..m.
[=] 6/0x06 | 2E 94 EC 52 | 0 | ...R
[=] 7/0x07 | F7 8D 8F 43 | 0 | ...C
[=] 8/0x08 | C2 9C 05 B0 | 0 | ....
[=] 9/0x09 | A2 74 25 D5 | 0 | .t%.
[=] 10/0x0A | BA FF FD A9 | 0 | ....
[=] 11/0x0B | DB 6D 59 6A | 0 | .mYj
[=] 12/0x0C | AF 21 48 CA | 0 | .!H.
[=] 13/0x0D | FC C1 76 E6 | 1 | ..v.
[=] 14/0x0E | 5F E0 9E 47 | 1 | _..G
[=] 15/0x0F | 59 F3 01 89 | 1 | Y...
[=] 16/0x10 | F9 D9 C8 25 | 0 | ...%
[=] 17/0x11 | 48 1B EB D1 | 0 | H...
[=] 18/0x12 | 42 FF CE 6D | 0 | B..m
[=] 19/0x13 | B2 83 C3 BB | 0 | ....
[=] 20/0x14 | EB 2E 15 73 | 0 | ...s
[=] 21/0x15 | 01 03 00 00 | 0 | ....
[=] 22/0x16 | 02 4F 09 02 | 0 | .O..
[=] 23/0x17 | 0D 12 36 04 | 0 | ..6.
[=] 24/0x18 | F5 9B CE 70 | 0 | ...p
[=] 25/0x19 | BC AF 32 8B | 0 | ..2.
[=] 26/0x1A | B4 59 2B F0 | 0 | .Y+.
[=] 27/0x1B | E3 39 B2 7D | 0 | .9.}
[=] 28/0x1C | F0 AC 84 17 | 0 | ....
[=] 29/0x1D | EE 91 F6 D9 | 0 | ....
[=] 30/0x1E | 9E A4 25 D1 | 0 | ..%.
[=] 31/0x1F | 72 54 53 D3 | 0 | rTS.
[=] 32/0x20 | BA 18 9F 66 | 0 | ...f
[=] 33/0x21 | DE 84 75 EE | 0 | ..u.
[=] 34/0x22 | A1 52 99 A1 | 0 | .R..
[=] 35/0x23 | 64 50 22 44 | 0 | dP"D
[=] 36/0x24 | F7 C8 19 9F | 0 | ....
[=] 37/0x25 | 58 8D 9D A1 | 0 | X...
[=] 38/0x26 | F3 D8 46 06 | 0 | ..F.
[=] 39/0x27 | 9F 8D BE A3 | 0 | ....
[=] 40/0x28 | B6 13 8B EE | 0 | ....
[=] 41/0x29 | 0A 51 76 21 | 0 | .Qv!
[=] 42/0x2A | B7 B3 40 53 | 0 | ..@S
[=] 43/0x2B | D0 73 A8 C6 | 0 | .s..
[=] 44/0x2C | 1E 0E C2 A0 | 0 | ....
[=] 45/0x2D | 8E FB B6 AB | 0 | ....
[=] 46/0x2E | 7E 62 13 C9 | 0 | ~b..
[=] 47/0x2F | C4 24 0D 33 | 0 | .$.3
[=] 48/0x30 | 1A 0B 01 87 | 0 | ....
[=] 49/0x31 | D5 88 FB E3 | 0 | ....
[=] 50/0x32 | 3B F2 A0 7B | 0 | ;..{
[=] 51/0x33 | 35 14 11 03 | 0 | 5...
[=] 52/0x34 | AB 57 1E C1 | 0 | .W..
[=] 53/0x35 | 3F A7 F5 7C | 0 | ?..|
[=] 54/0x36 | 7C 1A 1B D9 | 0 | |...
[=] 55/0x37 | 02 C8 CA 0F | 0 | ....
[=] 56/0x38 | 18 38 E6 96 | 0 | .8..
[=] 57/0x39 | 2B E6 E4 27 | 0 | +..'
[=] 58/0x3A | 0D 37 7E 87 | 0 | .7~.
[=] 59/0x3B | 72 35 37 C3 | 0 | r57.
[=] 60/0x3C | 9B 8E E6 AF | 0 | ....
[=] 61/0x3D | EF B9 71 A6 | 0 | ..q.
[=] 62/0x3E | 4C 6A 08 FC | 0 | Lj..
[=] 63/0x3F | 50 DD 0B 34 | 0 | P..4
[=] 64/0x40 | 19 0C 86 80 | 0 | ....
[=] 65/0x41 | E7 6A A5 3C | 0 | .j.<
[=] 66/0x42 | F3 8F 7E 9A | 0 | ..~.
[=] 67/0x43 | 8E C2 BA 88 | 0 | ....
[=] 68/0x44 | DA F0 1A AE | 0 | ....
[=] 69/0x45 | D5 50 9E 19 | 0 | .P..
[=] 70/0x46 | B1 7F 3D D6 | 0 | ..=.
[=] 71/0x47 | 39 BE 4D 89 | 0 | 9.M.
[=] 72/0x48 | C5 BF DE FB | 0 | ....
[=] 73/0x49 | EB 0B 9C EA | 0 | ....
[=] 74/0x4A | 90 30 F0 A2 | 0 | .0..
[=] 75/0x4B | 0C C4 CF 50 | 0 | ...P
[=] 76/0x4C | 66 6A 91 AB | 0 | fj..
[=] 77/0x4D | BB 8A 86 2B | 0 | ...+
[=] 78/0x4E | E1 C7 C4 C4 | 0 | ....
[=] 79/0x4F | 5D D6 44 5A | 0 | ].DZ
[=] 80/0x50 | E5 49 00 5D | 0 | .I.]
[=] 81/0x51 | 2D AA 54 96 | 0 | -.T.
[=] 82/0x52 | 18 DB F2 9D | 0 | ....
[=] 83/0x53 | 4E 33 87 16 | 0 | N3..
[=] 84/0x54 | 09 83 3E B2 | 0 | ..>.
[=] 85/0x55 | FD 41 84 CF | 0 | .A..
[=] 86/0x56 | F9 29 66 84 | 0 | .)f.
[=] 87/0x57 | 43 BC 96 08 | 0 | C...
[=] 88/0x58 | EF 83 A3 97 | 0 | ....
[=] 89/0x59 | D2 9F 32 3D | 0 | ..2=
[=] 90/0x5A | 1C 9D 9D C8 | 0 | ....
[=] 91/0x5B | 6A E3 FC 35 | 0 | j..5
[=] 92/0x5C | B0 43 41 86 | 0 | .CA.
[=] 93/0x5D | FE D6 2A EE | 0 | ..*.
[=] 94/0x5E | 27 CB 52 75 | 0 | '.Ru
[=] 95/0x5F | 9E B5 18 24 | 0 | ...$
[=] 96/0x60 | AF 0F AC AB | 0 | ....
[=] 97/0x61 | DA EB 23 18 | 0 | ..#.
[=] 98/0x62 | AA 5C C7 E9 | 0 | .\..
[=] 99/0x63 | CD C2 EC 00 | 0 | ....
[=] 100/0x64 | 62 E3 05 BA | 0 | b...
[=] 101/0x65 | 22 3F B6 AA | 0 | "?..
[=] 102/0x66 | F4 63 F5 9B | 0 | .c..
[=] 103/0x67 | DB 46 E0 C1 | 0 | .F..
[=] 104/0x68 | 81 20 31 F1 | 0 | . 1.
[=] 105/0x69 | 1F F1 F1 C1 | 0 | ....
[=] 106/0x6A | 2C 4A 70 EB | 0 | ,Jp.
[=] 107/0x6B | 11 3B A1 90 | 0 | .;..
[=] 108/0x6C | 5C 90 8C 9C | 0 | \...
[=] 109/0x6D | FB E5 55 15 | 0 | ..U.
[=] 110/0x6E | 09 66 F2 23 | 0 | .f.#
[=] 111/0x6F | 7F D3 DA F8 | 0 | ....
[=] 112/0x70 | E8 5B 52 77 | 0 | .[Rw
[=] 113/0x71 | 2F 76 9F F2 | 0 | /v..
[=] 114/0x72 | C9 B1 FC 14 | 0 | ....
[=] 115/0x73 | 41 FE D0 52 | 0 | A..R
[=] 116/0x74 | 35 E2 61 B9 | 0 | 5.a.
[=] 117/0x75 | 51 F4 BD 29 | 0 | Q..)
[=] 118/0x76 | BC C7 94 76 | 0 | ...v
[=] 119/0x77 | 19 78 E9 73 | 0 | .x.s
[=] 120/0x78 | 1F E7 E5 06 | 0 | ....
[=] 121/0x79 | F8 23 6B 53 | 0 | .#kS
[=] 122/0x7A | 95 64 BB 66 | 0 | .d.f
[=] 123/0x7B | E1 C0 0E 55 | 0 | ...U
[=] 124/0x7C | 27 33 2F BA | 0 | '3/.
[=] 125/0x7D | 11 09 72 44 | 0 | ..rD
[=] 126/0x7E | 4E F0 9E 20 | 0 | N..
[=] 127/0x7F | CE ED 16 6C | 0 | ...l
[=] 128/0x80 | 6F 45 49 AE | 0 | oEI.
[=] 129/0x81 | 7A AE 9E 2A | 0 | z..*
[=] 130/0x82 | 01 00 0F BD | 0 | ....
[=] 131/0x83 | 00 00 00 04 | 0 | ....
[=] 132/0x84 | 5F 00 00 00 | 0 | _...
[=] 133/0x85 | E8 1C AE E5 | 0 | ....
[=] 134/0x86 | 80 80 00 00 | 0 | ....
[=] ---------------------------------
[=] Restoring data blocks.
[=] ...............................................................................................................................
[=] Restore finished
[=] Special block: 3 (0x03) [ F1 10 FF EE ]
[=] Using pwd FF FF FF FF
[+] isOk:01
[=] Block: 134 (0x86) [ 80 80 00 00 ]
[=] Using pwd FF FF FF FF
[+] isOk:01
[=] Block: 133 (0x85) [ E8 1C AE E5 ]
[=] Using pwd FF FF FF FF
[+] isOk:01
[=] Block: 131 (0x83) [ 00 00 00 04 ]
[=] Using pwd E8 1C AE E5
[+] isOk:01
[=] Block: 132 (0x84) [ 5F 00 00 00 ]
[=] Using pwd E8 1C AE E5
[+] isOk:01
[=] Special block: 2 (0x02) [ B4 48 0F E0 ]
[=] Using pwd E8 1C AE E5
[+] isOk:01
[=] Block: 130 (0x82) [ 01 00 0F BD ]
[=] Using pwd E8 1C AE E5
[+] isOk:01
[+] finished hf_mfu_amiibo_restore [usb] pm3 --> script run hf_mfu_amiibo_restore -f hf-mfu-045A397ADF6180-dump.bin -k FFFFFFFF
[+] executing lua /usr/local/Cellar/proxmark3/4.15864/bin/../share/proxmark3/luascripts/hf_mfu_amiibo_restore.lua
[+] args '-f hf-mfu-045A397ADF6180-dump.bin -k FFFFFFFF'
----------------------------------------
----------------------------------------
Loading data from hf-mfu-045A397ADF6180-dump.bin
game: The Legend of Zelda
character: Midna & Wolf Link
type: Figure
series: Legend Of Zelda
generating new Amiibo binary for NTAG215 0443FC01EF0503
[+] executing python /usr/local/Cellar/proxmark3/4.15864/bin/../share/proxmark3/pyscripts/amiibo_change_uid.py
[+] args '0443FC01EF0503 /tmp/lua_n5aezC.bin /tmp/lua_U1QGTf.bin /usr/local/Cellar/proxmark3/4.15864/bin/../share/proxmark3/resources/key_retail.bin'
[+] finished amiibo_change_uid
[+] loaded 540 bytes from binary file /tmp/lua_U1QGTf.bin
[=] Restoring /tmp/lua_U1QGTf.bin to card
[=] MFU dump file information
[=] -------------------------------------------------------------
[=] Version..... 00 00 00 00 00 00 00 00
[=] TBD 0....... 00 00
[=] TBD 1....... 00
[=] Signature... 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[=] 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[=] Counter 0... 00 00 00
[=] Tearing 0... 00
[=] Counter 1... 00 00 00
[=] Tearing 1... 00
[=] Counter 2... 00 00 00
[=] Tearing 2... 00
[=] Max data page... 133 ( 536 bytes )
[=] Header size..... 56 bytes
[=] -------------------------------------------------------------
[=] block# | data |lck| ascii
[=] ---------+-------------+---+------
[=] 0/0x00 | 04 43 FC 33 | | .C.3
[=] 1/0x01 | 01 EF 05 03 | | ....
[=] 2/0x02 | E8 48 0F E0 | | .H..
[=] 3/0x03 | F1 10 FF EE | 1 | ....
[=] 4/0x04 | A5 00 06 00 | 0 | ....
[=] 5/0x05 | 70 3B 28 CD | 0 | p;(.
[=] 6/0x06 | 3E C5 38 B0 | 0 | >.8.
[=] 7/0x07 | 3C 0A 20 48 | 0 | <. H
[=] 8/0x08 | 30 18 29 8D | 0 | 0.).
[=] 9/0x09 | 81 53 5B C8 | 0 | .S[.
[=] 10/0x0A | 74 0B 68 F2 | 0 | t.h.
[=] 11/0x0B | 96 99 34 F8 | 0 | ..4.
[=] 12/0x0C | D5 DD D7 05 | 0 | ....
[=] 13/0x0D | 72 18 89 2B | 1 | r..+
[=] 14/0x0E | F6 70 2A 4A | 1 | .p*J
[=] 15/0x0F | F6 88 33 1A | 1 | ..3.
[=] 16/0x10 | 2F 45 35 DD | 0 | /E5.
[=] 17/0x11 | 73 30 C1 EB | 0 | s0..
[=] 18/0x12 | B2 0B 13 41 | 0 | ...A
[=] 19/0x13 | 4B 3E CD 80 | 0 | K>..
[=] 20/0x14 | 79 7B D3 B0 | 0 | y{..
[=] 21/0x15 | 01 03 00 00 | 0 | ....
[=] 22/0x16 | 02 4F 09 02 | 0 | .O..
[=] 23/0x17 | 0D 12 36 04 | 0 | ..6.
[=] 24/0x18 | F5 9B CE 70 | 0 | ...p
[=] 25/0x19 | BC AF 32 8B | 0 | ..2.
[=] 26/0x1A | B4 59 2B F0 | 0 | .Y+.
[=] 27/0x1B | E3 39 B2 7D | 0 | .9.}
[=] 28/0x1C | F0 AC 84 17 | 0 | ....
[=] 29/0x1D | EE 91 F6 D9 | 0 | ....
[=] 30/0x1E | 9E A4 25 D1 | 0 | ..%.
[=] 31/0x1F | 72 54 53 D3 | 0 | rTS.
[=] 32/0x20 | A2 A6 36 6C | 0 | ..6l
[=] 33/0x21 | 90 87 36 54 | 0 | ..6T
[=] 34/0x22 | D9 29 9A 94 | 0 | .)..
[=] 35/0x23 | 85 5E EF 0D | 0 | .^..
[=] 36/0x24 | 16 43 6F C8 | 0 | .Co.
[=] 37/0x25 | 28 7D 04 00 | 0 | (}..
[=] 38/0x26 | 2E FB 43 C5 | 0 | ..C.
[=] 39/0x27 | 9E 7C 4C 61 | 0 | .|La
[=] 40/0x28 | 71 EF 0E 83 | 0 | q...
[=] 41/0x29 | A7 66 D6 70 | 0 | .f.p
[=] 42/0x2A | 48 96 7D 69 | 0 | H.}i
[=] 43/0x2B | A1 B0 51 BC | 0 | ..Q.
[=] 44/0x2C | 21 95 EE 44 | 0 | !..D
[=] 45/0x2D | EB 07 48 2A | 0 | ..H*
[=] 46/0x2E | 97 A8 F2 8B | 0 | ....
[=] 47/0x2F | 2B 4D 1F EB | 0 | +M..
[=] 48/0x30 | C8 1C 06 04 | 0 | ....
[=] 49/0x31 | F0 E1 31 73 | 0 | ..1s
[=] 50/0x32 | 50 5B 37 9F | 0 | P[7.
[=] 51/0x33 | 06 9A DB A4 | 0 | ....
[=] 52/0x34 | DB 81 76 8D | 0 | ..v.
[=] 53/0x35 | E4 3E 5D A3 | 0 | .>].
[=] 54/0x36 | 35 C4 8B E8 | 0 | 5...
[=] 55/0x37 | E2 56 9B F2 | 0 | .V..
[=] 56/0x38 | 89 99 51 3D | 0 | ..Q=
[=] 57/0x39 | E7 16 9C CB | 0 | ....
[=] 58/0x3A | 60 57 96 FF | 0 | `W..
[=] 59/0x3B | 34 38 95 96 | 0 | 48..
[=] 60/0x3C | 96 28 D9 55 | 0 | .(.U
[=] 61/0x3D | 2E DA 32 AC | 0 | ..2.
[=] 62/0x3E | 87 69 BA 76 | 0 | .i.v
[=] 63/0x3F | 2F E4 5D 02 | 0 | /.].
[=] 64/0x40 | AA B1 12 53 | 0 | ...S
[=] 65/0x41 | 9D 08 84 3C | 0 | ...<
[=] 66/0x42 | AB 84 BF 72 | 0 | ...r
[=] 67/0x43 | 22 CD F6 49 | 0 | "..I
[=] 68/0x44 | 8D AB 84 E0 | 0 | ....
[=] 69/0x45 | 4E BA 92 00 | 0 | N...
[=] 70/0x46 | 8D 63 3B DE | 0 | .c;.
[=] 71/0x47 | 69 6D F4 9B | 0 | im..
[=] 72/0x48 | A5 03 78 19 | 0 | ..x.
[=] 73/0x49 | 58 9A 3F EE | 0 | X.?.
[=] 74/0x4A | 81 82 D7 30 | 0 | ...0
[=] 75/0x4B | F6 30 A2 FE | 0 | .0..
[=] 76/0x4C | 07 F2 9B 91 | 0 | ....
[=] 77/0x4D | F8 4B D9 AB | 0 | .K..
[=] 78/0x4E | D2 13 FB 91 | 0 | ....
[=] 79/0x4F | FE 00 9E 15 | 0 | ....
[=] 80/0x50 | C9 FD 97 1E | 0 | ....
[=] 81/0x51 | C8 D1 F0 62 | 0 | ...b
[=] 82/0x52 | 89 6E B7 4E | 0 | .n.N
[=] 83/0x53 | 62 5F 8E 0F | 0 | b_..
[=] 84/0x54 | 80 8A C8 5F | 0 | ..._
[=] 85/0x55 | 0C 54 B8 2C | 0 | .T.,
[=] 86/0x56 | 9C 67 20 6E | 0 | .g n
[=] 87/0x57 | BB C0 7A A2 | 0 | ..z.
[=] 88/0x58 | 50 71 3A 67 | 0 | Pq:g
[=] 89/0x59 | 10 BD 64 18 | 0 | ..d.
[=] 90/0x5A | B2 9C 08 B0 | 0 | ....
[=] 91/0x5B | 09 2A 67 18 | 0 | .*g.
[=] 92/0x5C | 82 CA C0 FE | 0 | ....
[=] 93/0x5D | 74 8D 87 66 | 0 | t..f
[=] 94/0x5E | 10 37 A0 BA | 0 | .7..
[=] 95/0x5F | D2 07 41 FD | 0 | ..A.
[=] 96/0x60 | C9 9C 2C 7F | 0 | ..,.
[=] 97/0x61 | 7F 21 B9 E1 | 0 | .!..
[=] 98/0x62 | 59 70 14 B4 | 0 | Yp..
[=] 99/0x63 | 76 2A 8F 3A | 0 | v*.:
[=] 100/0x64 | AD 34 D4 17 | 0 | .4..
[=] 101/0x65 | 58 8D 5D BD | 0 | X.].
[=] 102/0x66 | B9 78 84 A3 | 0 | .x..
[=] 103/0x67 | 18 6E 1D 17 | 0 | .n..
[=] 104/0x68 | 4F 63 78 1C | 0 | Ocx.
[=] 105/0x69 | BD C8 71 FB | 0 | ..q.
[=] 106/0x6A | 8E 35 E0 AC | 0 | .5..
[=] 107/0x6B | FB EF E8 A3 | 0 | ....
[=] 108/0x6C | EF AA F9 B2 | 0 | ....
[=] 109/0x6D | FC 35 2E C8 | 0 | .5..
[=] 110/0x6E | D7 35 42 BC | 0 | .5B.
[=] 111/0x6F | D2 39 25 4B | 0 | .9%K
[=] 112/0x70 | EF AA 2C 85 | 0 | ..,.
[=] 113/0x71 | E6 B8 69 BF | 0 | ..i.
[=] 114/0x72 | 42 9B 38 11 | 0 | B.8.
[=] 115/0x73 | E3 0A 93 35 | 0 | ...5
[=] 116/0x74 | 0F F4 88 3B | 0 | ...;
[=] 117/0x75 | 36 91 90 EF | 0 | 6...
[=] 118/0x76 | 97 37 E9 73 | 0 | .7.s
[=] 119/0x77 | 77 E4 18 D9 | 0 | w...
[=] 120/0x78 | B9 6B 3F 13 | 0 | .k?.
[=] 121/0x79 | D8 69 E8 C6 | 0 | .i..
[=] 122/0x7A | EA F0 23 EB | 0 | ..#.
[=] 123/0x7B | A2 15 48 0B | 0 | ..H.
[=] 124/0x7C | B1 7A AD 76 | 0 | .z.v
[=] 125/0x7D | 8A A1 FC B7 | 0 | ....
[=] 126/0x7E | 7E 3C 30 51 | 0 | ~<0Q
[=] 127/0x7F | F7 48 F4 5E | 0 | .H.^
[=] 128/0x80 | 84 D4 5D D3 | 0 | ..].
[=] 129/0x81 | 1D E2 67 67 | 0 | ..gg
[=] 130/0x82 | 01 00 0F BD | 0 | ....
[=] 131/0x83 | 00 00 00 04 | 0 | ....
[=] 132/0x84 | 5F 00 00 00 | 0 | _...
[=] 133/0x85 | E8 46 AE B9 | 0 | .F..
[=] 134/0x86 | 80 80 00 00 | 0 | ....
[=] ---------------------------------
[=] Restoring data blocks.
[=] ...............................................................................................................................
[=] Restore finished
[=] Special block: 3 (0x03) [ F1 10 FF EE ]
[=] Using pwd FF FF FF FF
[+] isOk:01
[=] Block: 134 (0x86) [ 80 80 00 00 ]
[=] Using pwd FF FF FF FF
[+] isOk:01
[=] Block: 133 (0x85) [ E8 46 AE B9 ]
[=] Using pwd FF FF FF FF
[+] isOk:01
[=] Block: 131 (0x83) [ 00 00 00 04 ]
[=] Using pwd E8 46 AE B9
[+] isOk:01
[=] Block: 132 (0x84) [ 5F 00 00 00 ]
[=] Using pwd E8 46 AE B9
[+] isOk:01
[=] Special block: 2 (0x02) [ E8 48 0F E0 ]
[=] Using pwd E8 46 AE B9
[+] isOk:01
[=] Block: 130 (0x82) [ 01 00 0F BD ]
[=] Using pwd E8 46 AE B9
[+] isOk:01
[+] finished hf_mfu_amiibo_restore I restore two cards at different heights, one work, another not. |
Interesting! By heights do you mean different diameter/size? I've been using the white coloured 2.5cm diameter NTAG215 cards - I have a batch from Aliexpress and another from Amazon with no problems, with a few dozen successful clones. The Unfortunately, without the lock bytes written then I don't believe the Amiibo will function correctly either so it may not be a good way to determine a functioning card other than testing it with an Amiibo reading device. |
is this still an issue after the PR? |
Why would you only be able to restore it once? You got the pwd... |
because the special block is set to lock... |
aha... Long time I looked into this, but... cant you modify the lock bytes and see if the switch allows it even it the blocks isn't locked? and head over to the rfid hacking discord instead to ask questions.. there is a toy2life channel |
I bought the third batch cards, it's worked fine. I think there is a quality problem with the two batches of cards I bought before. |
To Reproduce
script run hf_mfu_amiibo_restore -f myfile -k password
Expected behavior
Restore a valid amiibo card
Screenshots
dump eml content
Additional context
Hello @gtalusan, thanks for your scripts about amiibo.
I use the script
hf_mfu_amiibo_sim.lua
is very great, It can sim an amiibo card to use.When I use the script
hf_mfu_amiibo_restore.lua
, It restores success, but I don't know why it can't be recognized by Switch.I reviewed your script code with the post articles https://farewell-ladmin.com/backing-up-your-amiibo-with-a-proxmark3/ and https://forum.dangerousthings.com/t/cloning-amiibo-onto-new-cards/11585. I have not found any problem...
With all due respect, is there no problem for you to successfully clone it using this script?
The text was updated successfully, but these errors were encountered: