C’è voluto più di un anno per vedere un nuovo aggiornamento di 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.
Un aggiornamento imponente quello pubblicato dal developer XorTroll che si collega al servizio nfp:sys
della cosole Switch e quindi supporta anche le applet e le impostazioni di sistema (per la visualizzazione e l’eliminazione dei dati).
Chiunque abbia già salvato i dati su un amiibo virtuale deve riutilizzarlo in un gioco e salvare i dati in modo da poter inserire l’ID programma corretto (altrimenti verrà visualizzato l’ID del titolo di debug “Mantieni menu display interattivo”). Il nome non può essere più lungo di dieci caratteri.
Inoltre ora l’area amiibo può essere modificata tramite l’overlay, che può essere visualizzato ed eliminato anche all’interno delle impostazioni di sistema.
Tra l’altro è stata ripristinata la retrocompatibilità, il che significa che i dump BIN e i vecchi amiibo virtuali funzioneranno di nuovo e verranno automaticamente convertiti nel nuovo formato.
Le sezioni crittografate sono supportate anche quando la chiave retail dell’amiibo viene inserita in SD://switch/key_retail.bin
.
Guida
Compilare o scaricare la versione più recente di emuiibo ed estrarre i contenuti della directory SdOut
(contenuto all’interno di emuiibo-v*.zip
) nella scheda SD.
Emuiibo viene fornito in bundle con un overlay Tesla per controllarlo più facilmente, ma è possibile utilizzare anche strumenti come Goldleaf, Amiigo, ecc…
Layout SD
- La directory di Emuiibo è
sd:/emuiibo
. - Gli amiibo virtuali vanno dentro
sd:/emuiibo/amiibo
. Ad esempio, un amiibo chiamato MyMario sarebbesd:/emuiibo/amiibo/MyMario/<contenuto amiibo>
. - Tuttavia, le categorie sono supportate posizionando gli amiibo all’interno delle sottodirectory (solo all’interno di una directory, come le categorie di menu 3DS all’interno delle categorie non sono supportate) – ad esempio:
sd:/emuiibo/amiibo/SSBU/Yoshi
sarebbe un amiibo Yoshi all’interno della categoria SSBU . - Un amiibo virtuale viene rilevato da emuiibo in base a due aspetti: un file
amiibo.json
e un fileamiibo.flag
devono esistere all’interno della cartella dell’amiibo virtuale menzionata sopra. Se desideri disabilitare il riconoscimento di un amiibo virtuale da parte di emuiibo, rimuovere il file flag e crearlo di nuovo per abilitarlo. - Ogni volta che la console viene avviata, emuiibo salva tutti i mii all’interno della console sulla scheda SD. Il formato è
sd:/emuiibo/miis/<index>-<name>/mii-charinfo.bin
.
Controllo dell’emuiibo
- Emulation status (on/off): Quando lo stato dell’emulazione di emuiibo è attivo, significa che qualsiasi gioco che tenta di accedere/leggere gli amiibo verrà intercettato da emuiibo. Quando è spento, significa che i servizi di amiibo funzioneranno normalmente e nulla verrà intercettato. Questo è fondamentalmente un interruttore per disabilitare globalmente o abilitare l’emulazione amiibo.
- Active virtual amiibo: Questo è l’amiibo che verrà inviato ai giochi che tentano di scansionare gli amiibo, se l’emulazione è attiva. Tramite strumenti come la sovrapposizione o Goldleaf, si può cambiare l’amiibo virtuale attivo.
- Virtual amiibo status (connected/disconnected): Quando l’amiibo virtuale attivo viene collegato, significa che l’amiibo è sempre “posizionato”, come se avessi un vero amiibo sul punto NFC e non lo muovessi mai – il gioco lo rileva sempre . Quando è disconnesso, significa che lo hai “rimosso”, come se avessi appena rimosso l’amiibo dal punto NFC. Alcuni giochi potrebbero richiedere di rimuovere l’amiibo dopo aver salvato i dati, quindi è necessario disconnettere l’amiibo virtuale per “simulare” tale rimozione. Questa è una nuova funzionalità della versione 0.5, che ha corretto gli errori, poiché emuiibo ha provato a gestirlo automaticamente nelle versioni precedenti, causando il fallimento di alcuni giochi.
Nota: Tutti questi aspetti possono essere visti/controllati tramite l’overlay.
Creazione di amiibo virtuale
Emuiibo non richiede più BIN dumpati (ma le consente) per emulare gli amiibo. Invece, puoi utilizzare lo strumento emutool per PC per generare amiibo virtuali.
Per gli sviluppatori
L’emuiibo ospita anche un servizio personalizzato, nfp:emu
, che può essere utilizzato per controllare l’emulazione amiibo con i comandi IPC.
Nota: Questo servizio è completamente cambiato dalla versione 0.5, quindi qualsiasi tipo di strumento creato per controllare emuiibo per le versioni inferiori dovrebbe essere aggiornato, dal momento che sicuramente non funzionerà bene.
Esistono due esempi per l’utilizzo di questi servizi: emuiibo-example
, che è un gestore emuiibo della CLI rapido ma utile, e l’overlay.
Formato Amiibo
Gli amiibo sono, come detto sopra, directory con un file amiibo.json e un file amiibo.flag. La bandiera è principalmente lì nel caso in cui le persone vorrebbero disabilitare un amiibo e riattivarlo in seguito.
Il file JSON contiene tutti gli aspetti e i dati che un amiibo deve fornire ai giochi, tranne alcuni aspetti (dati salvati per gioco, protocollo e tipo di tag …)
Queste sono le proprietà di un amiibo:
- Name: Il nome dell’amiibo (massimo 40 caratteri).
- UUID: Questo è un identificatore univoco per l’amiibo, composto da 10 byte. Se il campo “uuid” non è presente in JSON, emuiibo randomizzerà l’UUID ogni volta che i dati amiibo vengono inviati a un gioco. Ciò ha potenziali benefici in alcuni giochi, come in BOTW, in cui gli amiibo possono essere usati solo una volta al giorno, ma con UUID casuali questo può essere aggirato e si possono ottenere ricompense infinite scansionando questo amiibo infinite volte.
- Mii: Ogni amiibo ha un mii associato (è “proprietario”). Internamente, i mii consistono in una struttura a 88 byte nota come “charinfo”, quindi emuiibo memorizza questi dati in un file (in genere
mii-charinfo.bin
). Per i nuovi amiibo, emuiibo utilizza i servizi della console per generare un mii casuale, ma per coloro che desiderano utilizzare un mii dalla propria console, emuiibo scarica nella directorymiis
i mii della console, quindi è solo una questione di copia e incolla/sostituzione charinfo bin file. NOTA: Emuiibo contiene il nome del file charinfo in JSON (mii_charinfo_file
), quindi se il file viene rinominato, non dimenticare di rinominarlo anche in JSON, o emuiibo genererà un mii casuale per il nome del file in JSON. - First and last write dates: 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 emutool, la data corrente viene assegnata a entrambe le date e quando l’amiibo viene modificato nella console, emuiibo aggiorna l’ultima data di scrittura.
- Write counter: Questo è un numero che aumenta ogni volta che viene modificato l’amiibo (e lo fa emuiibo, imitando Nintendo), ma quando il numero raggiunge
65535
, non viene più aumentato (il numero è tecnicamente un numero di 16 bit). - Version: Questo valore rappresenta tecnicamente la versione della libreria di amiibo di Nintendo (NFP), quindi emuiibo lo porta automaticamente a
0
.
Aree
- Le aree (aree di applicazione, tecnicamente) sono amiibo salvate per gioco. Tecnicamente, i veri amiibo possono salvare i dati solo per un singolo gioco, ma emuiibo consente il salvataggio di tutti i giochi (poiché i dati salvati sono memorizzati come file). Questa scheda salvata è piuttosto piccola e tende a contenere 216 byte o più piccoli.
- L’emuiibo salva questi dati all’interno dei file bin nella directory
areas
all’interno della directory degli amiibo e il nome del file bin è l’ID di accesso all’area di gioco in formato esadecimale. - Un ID di accesso è un ID/numero univoco che ogni gioco ha per gli amiibo salvati, utilizzato per verificare se il gioco ha effettivamente salvato i dati in un amiibo. Ecco un elenco di giochi e i loro ID di accesso:
ID di accesso per partita
- Super Smash Bros. Ultimate:
0x34F80200
- Splatoon 2:
0x10162B00
- Breath of the Wild:
0x1019C800
Nota: Se qualcuno è disposto a creare editor di dati salvati per questo salvataggio di amiibo, sono abbastanza sicuro che sarebbe estremamente utile per molti utenti.
Changelog
- La pietra miliare principale di questo aggiornamento (tra gli altri) è l’intercettazione finale del servizio
nfp:sys
, AKA che intercetta le impostazioni di sistema/il supporto amiibo dell’applet, quindi molte modifiche qui sono dovute a questo. - emuiibo, tra l’altro, non è più una pre-release.
Nota: Non Dimenticare di aggiornare all’ultima versione del menu nx-ovloader/Tesla!
- Il formato amiibo virtuale ha subito alcune importanti modifiche necessarie per il supporto delle impostazioni di sistema:
- Ora le informazioni sull’area vengono salvate in
<amiibo>/areas.json
, che memorizza coppie di valori access_id
eprogram_id
. Il supporto delle impostazioni di sistema richiede anche la conoscenza dell’ID programma del titolo che utilizza l’area, motivo per cui ora le informazioni sull’area vengono salvate qui. - Questo JSON contiene anche un campo
current_area_access_id
: L’opzione delle impostazioni di sistema per eliminare i dati di salvataggio di un amiibo è in conflitto con l’implementazione del salvataggio di emuiibo (i veri amiibo hanno un singolo salvataggio di gioco mentre emuiibo ne consente più), quindi questo campo contiene l’area attualmente “selezionata”, che consiste nell’area che le impostazioni di sistema vedranno e mostreranno le informazioni of/delete. - Per convertire i vecchi formati in queste nuove modifiche, il file
areas.json
verrà creato automaticamente, ma poiché emuiibo non ha modo di comunicare l’ID del programma delle aree amiibo semplici, imposterà un determinato ID per impostazione predefinita (per essere distinguibile dal resto, ho optato per quello di “Retain Interactive Display Menu”, che è un programma di debug), e per l’ID corretto da impostare sulle informazioni dell’area, l’utente deve utilizzare l’amiibo con il gioco in questione. So che può essere un po’ noioso, ma è il modo migliore per gestirlo. - Ora gli amiibo virtuali con nomi più lunghi di 10 caratteri vengono ignorati e considerati non validi. A causa di alcuni motivi tecnici (e Nintendo è troppo incoerente con i suoi formati) inizialmente pensavo che il limite fosse di 40, ma in alcuni contesti (come le impostazioni di sistema) in cui è imposto il limite di 10 caratteri, gli amiibo virtuali esistenti con nomi più lunghi tendono a causare un comportamento strano/inaspettato.
- L’opzione di formattazione delle impostazioni di sistema rimuoverà tutte le aree amiibo virtuali (non annullerà la registrazione come con gli amiibo reali poiché gli amiibo virtuali non hanno il concetto di essere (non) registrati.
- L’opzione di eliminazione del salvataggio del gioco delle impostazioni di sistema rimuoverà l’area amiibo selezionata, che può essere modificata dall’overlay. Questa area selezionata sarà anche quella mostrata sempre dalle impostazioni di sistema.
- Ora l’opzione random-UUID ha il proprio campo nel file
amiibo.json
(use_random_uuid
), in modo che gli amiibo abbiano il proprio UUID che non verrà cancellato quando random-UUID vuole essere abilitato (vedi le relative modifiche all’overlay).
- Ora le informazioni sull’area vengono salvate in
- I vecchi formati supportati nelle vecchie versioni di emuiibo (raw bin dump e vecchi amiibo virtuali) ora sono completamente supportati! La retrocompatibilità è stata reimplementata in modo che questi formati obsoleti vengano automaticamente convertiti nel formato moderno all’avvio (per i bin dump, il file binario dump viene spostato ma non eliminato).
- La crittografia ora è supportata, in modo che se
/switch/key_retail.bin
è presente, le sezioni crittografate dei bin dump saranno accessibili da emuiibo, in modo che gli amiibo convertiti risultanti conterranno tutti i dati amiibo presenti (questo include i dati delle app di gioco aree, dati di salvataggio del gioco AKA amiibo).
- La crittografia ora è supportata, in modo che se
emuiibo
- Compilato con le ultime librerie.
- Tutte le modifiche al formato di cui sopra hanno comportato modifiche al codice per supportarlo, ovviamente.
- Il servizio IPC
emuiibo
(usato dall’overlay e da altri homebrew per controllare emuiibo) ha alcuni nuovi comandi che riflettono le modifiche al formato. Come sempre, l’overlay è il miglior esempio di homebrew che utilizza questo servizio per controllare l’emulazione amiibo. - Sono stati corretti alcuni bug interni dell’ID amiibo (ancora una volta, un enorme ringraziamento a Nintendo per essere inutilmente e fortemente incoerente con i loro formati amiibo su tutte le piattaforme), che in precedenza avrebbero causato alcuni problemi con alcuni giochi (come Monster Hunter Rise, Splatoon, ecc..).
Overlay
- Compilato con l’ultimo libtesla/libnx.
- Corretto un bug di pulizia dell’interfaccia utente di libtesla di lunga data che a volte poteva causare arresti anomali.
- L’interfaccia utente è stata estesa (in seguito alle nuove modifiche al formato) per mostrare/attivare l’area attualmente selezionata dell’amiibo virtuale attivo, nonché per attivare/disattivare l’opzione UUID casuale degli amiibo.
- Le voci della directory amiibo/plain elencate ora sono in ordine alfabetico.
- Se il titolo è installato, verrà mostrato il suo nome; in caso contrario, verrà mostrato il semplice ID programma.
- La versione di emuiibo ora è verificata, in modo che un overlay rifiuterà di funzionare con versioni di emuiibo precedenti/nuove e quindi funzionerà solo con la stessa identica versione.
- Aggiunto il supporto per la lingua francese.
emutool
- La versione di .NET framework è stata ridotta alla v4.5.2, sperando che ciò possa aumentare la compatibilità con alcuni sistemi.
- Gli amiibo il cui nome predefinito contiene “/” vengono sostituiti con “_” e anche i caratteri speciali vengono sostituiti con i loro equivalenti ASCII (come E da È) per evitare problemi con i percorsi di sistema durante la creazione di amiibo virtuali.
Nota: emutool non è cambiato per questa nuova versione, è stato aggiornato solo il numero di versione.
FAQ
- Posso usare un dump dell’amiibo 20 Heart Wolf Link con emuiibo?
- Poiché Breath of the Wild rileva l’amiibo 20 Heart Wolf Link tramite i salvataggi, a cui emuiibo non può accedere sui dump bin poiché è crittografato e non supportiamo ancora la decrittografia, dovrai estrarre manualmente i dati salvati dal tuo PC (utilizzando gli strumenti come amiitool) per ora.
- I giochi che necessitavano di emuiibo per essere attivi prima del loro lancio (come Breath of the Wild) sono o saranno mai risolti?
- No – purtroppo non c’è nulla da risolvere qui, è proprio come il gioco utilizza i servizi di amiibo: Questi giochi inizializzano i servizi di amiibo nel momento in cui vengono lanciati, quindi emuiibo deve essere attivo in quel momento per consentire l’emulazione in quel gioco.
Download: Emuiibo v1.0.0
Download: Source code Emuiibo v1.0.0
Fonte: wiidatabase.de