Pubblicato un nuovo aggiornamento per emuiibo, lo strumento chiaramente ispirato a switch-nfp-mitm ci permette di dumpare e spoofare gli amiibo sulla console Switch.
Emuiibo è un processo in background, come i moduli di Atmosphere, hid-mitm, ecc…, quali servizi come NFP (nfp:user) di MitM per supportare l’emulazione Amiibo.
emuiibo v1.1.0 is finally released! Go check it out: https://t.co/2Addu20e6o
All the various changes are detailed in the release page changelog.
As always, a big thank you to all the people who helped supporting, testing, finding bugs and suggesting improvements!
— XorTroll (@XorTroll) August 20, 2023
L’aggiornamento presenta alcune importanti novità. Ora, Emuiibo ha la capacità di ricordare se è attivo o meno e ripristina lo stato dopo un riavvio della console.
Quando la registrazione è attiva, il programma accede a un file sulla scheda SD e assegna ai file BIN convertiti un Mii corretto.
Inoltre, sono state apportate migliorie alla traduzione tedesca e corretto un bug che si verificava durante l’apertura del menu/album Homebrew quando Emuiibo era in connessione con un gioco.
La modifica più significativa riguarda l’introduzione di emuiigen in sostituzione di emutool. Questo nuovo strumento, anch’esso scritto in Java, permette di generare direttamente amiibo virtuali e consente la modifica e la verifica di amiibo virtuali esistenti.
Da qui è possibile generare più amiibo contemporaneamente. Inoltre, i nomi degli amiibo verranno abbreviati in modo che siano composti da massimo 10 caratteri, per facilitarne l’identificazione a causa dello spazio limitato nella sovrapposizione.
Da notare che per eseguire emuiigen è necessario avere installato Java 17, che può essere scaricato ad esempio da Microsoft, e collegarlo direttamente ai file JAR dell’utility.
Tuttavia, è possibile che emuiigen potrebbe non avviarsi correttamente con Java ARM64 e potrebbe presentare problemi anche con Java x86.
Requisiti
- emuiibo ed emuiigen (precedentemente emutool).
- Tesla Menu.
Installazione
- Estrarre tutti i file dall’archivio sul PC e copiare le cartelle all’interno della scheda SD. Alla fine dovrebbe apparire così:
- emuiibo:
sd:/atmosphere/contents/0100000000000352/exefs.nsp
e la cartella/flags
. - Overlay emuiibo:
sd:/switch/.overlays/emuiibo.ovl
. - Tesla-Menu:
sd:/switch/.overlays/ovlmenu.ovl
. - nx-ovlloader:
sd:/atmosphere/contents/420000000007E51A/exefs.nsp
e la cartella/flags
. Ricorda che (se questi contenuti sono stati inseriti senza spegnere la console, utilizzando FTP, MTP, ecc..) sarà necessario riavviare per far sì che emuiibo funzioni o venga ricaricato correttamente!
- emuiibo:
Amiibo virtuali
Gli amiibo virtuali vanno inseriti all’interno della cartella sd:/emuiibo/amiibo
. Ad esempio, un amiibo chiamato MyMario sarà nella cartella sd:/emuiibo/amiibo/MyMario/<contenuto dell'amiibo>
.
Questi volendo possono anche essere collocati in sottocartelle, come ad esempio sd:/emuiibo/amiibo/SSBU/Yoshi
.
Un amiibo virtuale viene riconosciuto da emuiibo basandosi su due aspetti: una coppia di file amiibo.json
e amiibo.flag
deve esistere all’interno della cartella dell’amiibo virtuale menzionata sopra.
Se, per qualsiasi motivo, si desidera disabilitare il riconoscimento di un amiibo virtuale da parte di emuiibo, basta rimuovere il file flag e crearlo nuovamente per abilitarlo.
Il file JSON contiene tutti gli aspetti e i dati che un amiibo deve fornire ai giochi, ad eccezione di alcune proprietà speciali (dati salvati per ogni gioco, protocollo e tipo di tag…).
Proprietà di un amiibo
- Nome: Il nome dell’amiibo (massimo 10 caratteri, i nomi più lunghi verranno automaticamente limitati a 10 da emuiibo).
- UUID: Questo è un identificatore univoco per l’amiibo, composto da 10 byte. I valori comuni per UUID degli amiibo sembrano avere gli ultimi 3 byte azzerati…?
- UUID casuale: Se questa opzione viene abilitata (impostata su
true
), emuiibo ignorerà il valore fisso dell’UUID e genererà UUID casuali ogni volta che l’amiibo verrà accesso da un gioco. Questo ha vantaggi potenziali in alcuni giochi, come Breath of The Wild, dove gli amiibo possono essere utilizzati solo una volta al giorno, ma con UUID casuali è possibile aggirare questa limitazione e ottenere infinite ricompense scansionando questo amiibo infinite volte. - Mii: Ogni amiibo ha un Mii associato ad esso (il “proprietario”). Internamente, i Mii consistono in una struttura di 88 byte conosciuta come “char-info”, quindi emuiibo memorizza questi dati in un file (tipicamente
mii-charinfo.bin
). Per gli amiibo nuovi, emuiibo utilizza i servizi della console per generare un Mii casuale, ma per coloro che desiderano utilizzare un Mii dalla loro console, emuiibo salva nella cartellamiis
i Mii della console, quindi è sufficiente copiare e incollare/sostituire i file bin di charinfo. NOTA: Emuiibo include il nome del file charinfo nel JSON (mii_charinfo_file
), quindi se il file viene rinominato, non dimenticare di rinominarlo anche nel JSON, altrimenti emuiibo genererà un Mii casuale per il nome del file nel JSON. - Date di prima e ultima scrittura: Queste sono (come se non fosse ovvio) la prima e l’ultima volta in cui l’amiibo è stato scritto/modificato. Quando un amiibo virtuale viene creato con emuiigen, la data corrente viene assegnata a entrambe le date, e quando l’amiibo viene modificato nella console, emuiibo aggiorna l’ultima data di scrittura.
- Contatore di scrittura: Questo è un numero che aumenta ogni volta che l’amiibo viene modificato (e emuiibo fa questo imitando Nintendo), ma quando il numero raggiunge 65535, smette di aumentare (il numero è tecnicamente un numero a 16 bit).
- Versione: Questo valore rappresenta tecnicamente la versione della libreria amiibo di Nintendo (NFP), quindi emuiibo lo imposta di default a 0.
Creazione di Amiibo virtuali
Sebbene i vecchi formati emuiibo siano supportati e convertiti al formato attuale (vedi sopra), è fortemente consigliato, a meno che i dump bin siano indispensabili, utilizzare emuiigen, l’utility PC intuitiva progettata per creare e modificare amiibo virtuali:
Dal programma è possibile copiare la cartella amiibo
generata sulla scheda SD, in sd:/emuiibo/amiibo
o in qualsiasi sua sottocartella.
Figure supportate
Alcuni giochi (come Skylanders) utilizzano una propria tecnologia NFC, oltre agli amiibo. Questo progetto EMULA SOLO gli amiibo; quindi, nel caso di Skylanders, solo le due figurine speciali con supporto amiibo possono essere emulate qui, dove emuiibo emulerà solo la “parte amiibo” di esse.
Aree
Le aree (aree di applicazione, tecnicamente) sono i dati salvati degli amiibo per ogni gioco. Tecnicamente, gli amiibo reali possono salvare dati per un singolo gioco, ma emuiibo consente di avere quanti giochi si desidera (dato che i dati salvati sono archiviati come file).
Questi dati salvati sono piuttosto piccoli e tendono ad essere di 216 byte o meno.
Emuiibo salva questi dati all’interno di file bin nella cartella areas
all’interno della cartella dell’amiibo, e il nome del file bin è l’ID di accesso dell’area del gioco nel formato esadecimale.
Un ID di accesso è un ID/numero univoco che ogni gioco ha per i dati salvati degli amiibo, usato per verificare se il gioco ha effettivamente dati salvati in un amiibo. Ecco una lista di giochi e dei loro ID di accesso:
ID di accesso per partita
Gioco | ID dell'applicazione | ID di accesso |
Splatoon 2 | 0x01003BC0000A0000 | 0x10162B00 |
Shovel Knight: Treasure Trove | 0x010057D0021E8000 | 0x1016E100 |
The Legend of Zelda: Breath of the Wild | 0x01007EF00011E000 | 0x1019C800 |
Super Smash Bros. Ultimate | 0x01006A800016E000 | 0x34F80200 |
Splatoon 3 | 0x0100C2500FC20000 | 0x38600500 |
The Legend of Zelda: Link's Awakening | 0x01006BB00C6F0000 | 0x3B440400 |
Nota: Alcuni di questi ID sono stati ottenuti da switchbrew.
Utilizzo e controllo
Se hai configurato tutto come indicato sopra, sei pronto a utilizzare emuiibo in gioco.
Suggerimento: Attivalo (stato di emulazione) prima di avviare un gioco, perché in alcuni giochi non funziona se lo abiliti dopo aver avviato il gioco! Dipende davvero da come il gioco utilizza internamente gli amiibo, quindi ciò garantisce che emuiibo intercetti il gioco.
Per vedere se emuiibo funziona in gioco, controllare se emuiibo intercetta il gioco quando cerca di accedere agli amiibo. Se non lo fa, provare ad avviare il gioco con emuiibo abilitato prima.
Per aprire l’overlay Tesla, tenere premuti + e poi premere (levetta destra). Se lo farai, l’overlay si aprirà sul lato sinistro dello schermo. Ora da qui scegli emuiibo.
Puoi vedere/controllare le seguenti opzioni nella parte superiore dell’overlay:
- Stato di emulazione (attivato/disattivato): Quando lo stato di emulazione di emuiibo è attivo, significa che qualsiasi gioco che cerca di accedere/leggere gli amiibo verrà intercettato da emuiibo. Quando è disattivato, significa che i servizi degli amiibo funzioneranno normalmente e nulla verrà intercettato. Questo è fondamentalmente un interruttore per disabilitare o abilitare globalmente l’emulazione degli amiibo.
- Amiibo virtuale attivo: Questo è l’amiibo che verrà inviato ai giochi che cercano di scansionare gli amiibo, se l’emulazione è attiva. Se l’amiibo dovesse avere un’immagine, questa verrà visualizzata nella parte superiore dell’overlay.
- Stato amiibo virtuale (connesso/disconnesso): Quando l’amiibo virtuale attivo è connesso, significa che l’amiibo è sempre “posizionato”, come se avessi un amiibo reale sul punto NFC e non lo muovessi mai: Il gioco lo rileva sempre. Quando è scollegato, significa che lo “hai rimosso”, come se avessi appena rimosso l’amiibo dal punto NFC. Alcuni giochi potrebbero chiederti di rimuovere l’amiibo dopo aver salvato i dati, quindi devi scollegare l’amiibo virtuale per “simulare” quella rimozione. Questa è una funzionalità recente, poiché emuiibo cercava di gestire questo in modo automatico nelle versioni precedenti, causando il fallimento di alcuni giochi.
- UUID casuale (attivato/disattivato): Quando viene selezionato un amiibo virtuale, questa opzione attiva o disattiva l’opzione UUID casuale sull’amiibo (vedere sopra), che farà sì che emuiibo utilizzi UUID casuali ogni volta che un gioco accede all’amiibo.
Nel menu principale della parte inferiore, è possibile navigare tra gli amiibo virtuali (e quindi selezionarli) attraverso le (sotto)cartelle in sd:/emuiibo/amiibo
.
Dal menu è possibile segnare anche alcuni di essi come preferiti, che possono essere facilmente accessibili da un menu separato in basso.
Dopo aver selezionato un amiibo, è possibile vedere la selezione nella parte superiore dell’overlay ed è connesso.
Un amiibo virtuale connesso equivale a tenere una figurina/carta di amiibo reale sul punto NFC. Per scollegare l’amiibo (equivalente a rimuovere un amiibo reale dal punto NFC), basta selezionare nuovamente lo stesso amiibo.
Per tornare indietro nei menu, premere il pulsante .
Esempio d’uso
- Aprire l’overlay e scegliere emuiibo.
- Attivare emuiibo.
- Avviare il gioco.
- Andare alla funzione NFC del gioco per utilizzare l’amiibo e attivarlo.
- Aprire l’overlay e scegliere l’amiibo (l’amiibo verrà quindi connesso).
- Il gioco dovrebbe ora riconoscerlo/utilizzarlo.
- Se il gioco ti chiede di rimuovere l’amiibo, scollegalo.
Procedura di avvio
Ecco l’elenco delle azioni che emuiibo effettuerà automaticamente durante l’avvio della console:
- I Mii della console sono salvati in
sd:/emuiibo/miis/<index>
, sia il loro nome (in un file di testo poiché potrebbe non essere ASCII) che i loro dati come filemii-charinfo.bin
. - I vecchi formati degli amiibo (dump bin grezzi e vecchi formati di amiibo virtuali) vengono automaticamente convertiti nel formato moderno:
- Se è presente
sd:/switch/key_retail.bin
, le sezioni crittografate del dump bin possono essere utilizzate, il che significa che le impostazioni dell’amiibo (mii, nome, ecc..) e l’area dell’applicazione di gioco (dati salvati), se presente, vengono anche estratti per il nuovo formato. - Il file del dump bin non viene rimosso, ma verrà spostato all’interno del formato amiibo moderno, insieme al file decrittato.
- Se è presente
Changelog
Emuiibo
- L’opzione dello stato selezionato (attivato/disattivato) ora viene salvato tramite i flag SD, in modo che dopo un riavvio l’opzione selezionata rimanga invariata.
- Corretto un bug legato all’input che causava strani problemi quando si cercava di aprire hbmenu/album mentre emuiibo stava intercettando un gioco.
- Ora la registrazione (se abilitata) viene salvata in un file di registro sulla scheda SD (anziché nel LogManager ufficiale, che è meno intuitivo per gli utenti comuni).
- Ora i file bin convertiti hanno un set di mii corretto (non è il loro effettivo mii poiché è ancora un problema tecnico usarlo, ma in precedenza non era impostato, mostrando così un mii non valido/vuoto – ora ne viene generato uno casuale come in altri luoghi con mii inesistenti).
Overlay
- Aggiornate le traduzioni in tedesco, cinese tradizionale/semplificato e coreano.
- Introdotta la traduzione in portoghese brasiliano.
emuiigen (← emutool)
- Tutte le funzionalità originariamente presenti in emutool sono ovviamente presenti anche qui.
- Nuova interfaccia utente (organizzata meglio) in Java(FX), garantendo così una migliore compatibilità incrociata rispetto a emutool (che invece si basava su C#).
- Ora le generazioni batch (tutti gli amiibo o tutti di una certa serie) hanno la propria pagina UI/spazio adeguato.
- Nuovo (di base) supporto per l’apertura (e quindi verifica della validità) o la modifica di amiibo virtuali (nome e funzione random-uuid).
- I nomi predefiniti degli amiibo ora rimuovono caratteri meno importanti (spazi, trattini, ecc..) in modo che la maggior parte del nome rimanga dopo il loro accorciamento al massimo di 10 caratteri (per esempio, in precedenza
Isabelle - Winter
veniva semplicemente accorciato inIsabelle -
, mentre ora viene convertito inIsabelleWi
, che è almeno migliore).
Download: Emuiibo v1.1.0
Download: Emuiigen v1.1.0
Download: Source code Emuiibo v1.1.0
Fonte: wiidatabase.de