Un nuovo aggiornamento ha portato alla ribalta libWiiPy, una moderna libreria scritta in Python 3 pensata per gestire vari file e formati legati alla console Wii.
Creata con l’obiettivo di semplificare il lavoro degli sviluppatori, questa libreria offre una soluzione completa e facile da usare per la manipolazione dei dati relativi alla Wii, fornendo una gamma di funzionalità utili a chi sviluppa applicazioni homebrew o tool per la console.
Caratteristiche
La libreria è ispirata a libWiiSharp, sviluppata originariamente da Leathl e mantenuta ora da @TheShadowEevee, ma con un approccio completamente nuovo. Tra le principali funzionalità attualmente disponibili in libWiiPy troviamo:
- Analisi/modifica TMD e Ticket (
.tmd
,.tik
). - Analisi/modifica del titolo, inclusa la crittografia/decrittografia del contenuto.
- Analisi/modifica del file WAD (
.wad
). - Scaricare titoli dalla NUS.
- Imballaggio e disimballaggio degli archivi U8 (
.app
,.arc
). - Decompressione dei file ASH (
.ash
sia le varianti standard che quelle presenti in My Pokémon Ranch). - Patch IOS.
- Funzionalità relative alla NAND:
- Gestione del titolo EmuNAND (attualmente richiede un EmuNAND esistente).
content.map
analisi/modifica.uid.sys
analisi/modifica.
- Varie funzionalità varie utilizzate per rendere possibili le altre funzionalità principali.
Per una panoramica più dettagliata di ciò che è disponibile in libWiiPy, consultare la documentazione API .
Con queste caratteristiche, libWiiPy si presenta come una soluzione completa per chiunque voglia sviluppare strumenti legati alla Wii utilizzando Python, risparmiando tempo e sforzi nel dover combinare più librerie.
Installazione e utilizzo
L’installazione di libWiiPy è molto semplice e può essere eseguita direttamente tramite PyPI, la repository ufficiale per i pacchetti Python: pip install -U libWiiPy
Tuttavia, poiché la libreria è ancora in una fase di sviluppo iniziale, è consigliabile installare la versione più recente direttamente dalla repository GitHub, in modo da ottenere tutte le nuove funzionalità in tempo reale: pip install -U git+https://github.com/NinjaCheetah/libWiiPy
Le istruzioni dettagliate su come iniziare a utilizzare libWiiPy, compresi i passaggi per la compilazione locale, sono disponibili nella documentazione ufficiale.
Changelog
Generale
- I moduli
emunand
esys
relativi alla NAND sono stati spostati in un nuovo sottopacchettonand
. Ora è necessario fare riferimento ad essi utilizzando il prefissolibWiiPy.nand
invece dilibWiiPy.title
. Una panoramica di questo nuovo sottopacchetto si trova nella documentazione dell’API.
Analisi e modifica del titolo
- Le regioni TMD sono state modificate con il più corretto sistema di codici regionali, invece di riportare i nomi completi delle regioni. I codici sono i seguenti:
USA
,EUR
,JPN
eKOR
. - La classe
Title()
ora offreget_title_size()
eget_title_size_blocks()
per ottenere rispettivamente la dimensione dell’intero titolo in byte o in blocchi. Entrambi i metodi accettano il kwargabsolute
per determinare se il contenuto condiviso debba essere incluso o meno nel totale. - I tipi di titolo ora vengono restituiti correttamente dal metodo
get_title_type()
della classeTMD()
. In precedenza, questo metodo leggeva un campo errato nel TMD e restituiva sempreSystem
, indipendentemente dal tipo effettivo. - L’aggiunta di nuovo contenuto a un titolo esistente ora funziona come previsto. In precedenza, la proprietà
num_contents
del TMD non veniva aggiornata, quindi il contenuto aggiunto oltre il conteggio originale non veniva salvato quando si scaricava un WAD. ContentRegion()
ora offreremove_content_by_index()
eremove_content_by_cid()
per rimuovere un contenuto specifico da un titolo.Title()
ora offreadd_content()
eadd_enc_content()
, in modo da non dover interfacciarsi direttamente con laContentRegion()
sottostante per aggiungere nuovo contenuto a un titolo.ContentRegion()
ora offre il metodoget_index_from_cid()
per risolvere un indice di contenuto da un Content ID.
Nuova classe: SettingTxt
- Nuova classe per gestire il file
setting.txt
utilizzato dal menu di sistema per memorizzare la regione e il numero di serie della console. - Permette di analizzare il file
setting.txt
decriptandolo e caricando le chiavi, consentendo di modificarle, e di ricifrare il file per utilizzarlo su una console.
L’aggiornamento è disponibile anche su PyPI mentre la documentazione API viene aggiornata automaticamente dalle docstring.
Download: libWiiPy v0.5.1 py3-none-any.whl
Download: libwiipy v0.5.1.tar.gz
Download: Source code libWiiPy v0.5.1
Fonte: github.com