Home Homebrew Rilasciato libWiiPy v0.5.2: La libreria Python per la gestione completa dei...

[Scena Wii] Rilasciato libWiiPy v0.5.2: La libreria Python per la gestione completa dei file Wii ora presenta il supporto per i file Dev WAD

19
0

Pubblicato un rapido aggiornamento correttivo per LibWiiPy, la 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.

Questo nuovo aggiornamento annulla alcune modifiche introdotte nella versione 0.5.0, che avevano causato più problemi di quanti ne risolvessero, sostituendole con una nuova soluzione molto più semplice.

Inoltre, l’aggiornamento aggiunge un supporto di base per la gestione di WAD firmati e crittografati, attualmente in fase di sviluppo.

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 ( .ashsia 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.mapanalisi/modifica.
    • uid.sysanalisi/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

Contenuto

  • Le modifiche al modo in cui venivano elaborati gli indici di contenuto sono state annullate. Nella versione 0.5.0, tutti i metodi per ContentRegion() che richiedevano un indice come parametro sono stati modificati per risolvere quell’indice trovando il record di contenuto che lo conteneva e poi utilizzando quello, invece di andare semplicemente alla posizione letterale di quell’indice. Questa modifica è stata effettuata per migliorare il supporto per i WAD in cui l’indice del contenuto nel record non corrispondeva all’indice letterale, ma ha introdotto problemi relativi all’ottenimento/decrittazione del contenuto, nonché alla sua impostazione/crittografia.
  • Come sostituzione per la soluzione complicata e problematico sopra menzionata, i metodi in ContentRegion() che utilizzano indici risolveranno di nuovo l’indice letterale, ma continueranno a risolvere l’indice di contenuto quando necessario per la decrittazione. Ciò risolve lo stesso problema senza introdurre un comportamento diverso dall’API v0.4.x.

Parsing e Modifica del titolo

  • Il metodo get_common_key() ora accetta il parametro kwarg dev, che, se impostato su True, farà sì che il metodo restituisca la Wii Common Key di sviluppo invece di quella di vendita al dettaglio quando viene richiesta la chiave 0. Le chiavi 1 e 2 non sono influenzate da questo argomento.
  • I metodi di crittografia encrypt_title_key() e decrypt_title_key() ora accettano il parametro kwarg dev, che, se impostato su True, farà sì che passino quel valore a get_common_key(), consentendo loro di decrittare con successo la Title Key di un titolo di sviluppo.
  • L’emittente della firma di un Ticket viene ora analizzato durante il caricamento, e la nuova proprietà is_dev di Ticket() sarà impostata su True se l’emittente della firma è quello utilizzato per i titoli di sviluppo.
  • I metodi get_title_key() di Ticket() e set_title_id() di Title() ora passano la nuova proprietà is_dev di Ticket a decrypt_title_key() e set_title_id(), rispettivamente, per consentire un supporto adeguato dei titoli di sviluppo in tutta la libreria.
  • Combinate, queste funzionalità consentono una decrittazione senza interruzioni dei contenuti provenienti da titoli di sviluppo senza la necessità di interventi espliciti in condizioni di utilizzo tipiche.

L’aggiornamento è disponibile anche su PyPI mentre la documentazione API viene aggiornata automaticamente dalle docstring.

Download: libWiiPy v0.5.2 py3-none-any.whl

Download: libwiipy v0.5.2.tar.gz

Download: Source code libWiiPy v0.5.2

Fonte: github.com

LASCIA UN COMMENTO

Per favore inserisci il tuo commento!
Per favore inserisci il tuo nome qui

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.