Nuovo aggiornamento di Atmosphère rilasciato dallo sviluppatore SciresM con la nuova versione 0.12.0, con supporto al firmware 10.0.1.Per aggiornare o installare questa nuova versione consiglio di cancellare le cartelle /atmosphere /bootloader /sept e inserire i file della nuova versione.

Componenti

Atmosphère è costituito da più componenti, ciascuno dei quali sostituisce / modifica un diverso componente del sistema:

  • Fusée: Loader della prima fase, responsabile del caricamento e della validazione della fase 2 (TrustZone personalizzata) più il pacchetto 2 (i sysmodules Kernel / FIRM) e la loro applicazione in base alle necessità. Questo sostituisce tutte le funzionalità normalmente in Package1loader / NX Bootloader.
    • Sept: payload utilizzato per abilitare il supporto per la derivazione della chiave di runtime su 7.0.0.
  • Exosphère: TrustZone personalizzato, per eseguire un monitor sicuro personalizzato
  • Thermosphère: supporto ELu EmuNAND, ovvero backup e utilizzo di immagini NAND virtualizzate / reindirizzate
  • Stratosphère: Custom Sysmodule (s), entrambi in stile Rosalina per estendere il kernel / fornire nuove funzionalità e lo stile di reimplementazione del caricatore per agganciare azioni importanti del sistema
  • Troposphère: patch del sistema operativo Horizon a livello di applicazione, utilizzati per implementare le funzionalità CFW desiderabili

Changelog

Quanto segue è stato modificato dall’ultima versione:

  • La configurazione per exosphere è stata spostata su sd: /exosphere.ini.
    • Questo per facilitare le modifiche alla protezione della BRI descritte di seguito.
    • Speriamo che avere questo al di fuori della cartella Atmosphere impedirà la cancellazione accidentale, poiché ora contiene impostazioni importanti.
  • La politica di protezione bis dell’atmosfera per la partizione PRODINFO è stata sostanzialmente rielaborata.
    • È stato aggiunto il supporto per l’esecuzione “automatica” di un’operazione di “blanking” su PRODINFO senza modificare la NAND.
      • Ciò equivale a utilizzare lo strumento homebrew “in incognito”, ma NAND non viene mai effettivamente modificato.
      • Questo può essere attivato in sysmmc impostando blank_prodinfo_sysmmc=1in exosphere.ini e in emummc impostando blank_prodinfo_emummc=1in exosphere.ini .
      • Nota : questo non è noto per essere sicuro. Manca la ricerca se le informazioni cancellate vengano memorizzate nella cache altrove nel sistema.
        • L’uso di questa opzione non è incoraggiato per questo motivo.
    • È stato aggiunto il supporto per la scrittura nella partizione PRODINFO, se è stato eseguito un backup crittografato verificato.
      • PRODINFO è l’unico dato di sistema che non può essere recuperato se non è stato eseguito il backup, quindi Atmosphere ha eseguito il backup su SD card all’avvio da qualche tempo.
      • Gli utenti che desiderano modificare i propri dati di calibrazione ora possono farlo incondizionatamente in emummc e in sysmmc se allow_writing_to_cal_sysmmc=1è impostato in exosphere.ini.
        • Nota : questo è fortemente scoraggiato e l’utente tipico non vorrà quasi mai farlo.
        • L’impostazione di questa opzione farà sì che Atmosphere tenti di verificare (o creare) un backup crittografato dei dati PRODINFO in una regione non utilizzata nella partizione.
          • Il backup è crittografato con chiavi per console che gli sviluppatori di Atmosphere non conoscono.
        • Se il backup non è verificato o creato, le scritture non funzioneranno. Gli utenti che hanno corrotto il loro PRODINFO in passato sono invitati a eseguire il flashing di un buon backup per consentire l’uso di questa impostazione.
        • Legge e scrive nell’area utilizzata per il backup crittografato in modo sicuro sembrerà avere esito positivo, ma in realtà leggerà / scriverà da un buffer pieno di immondizia in memoria.
    • Il supporto verrà esaminato in futuro per supportare l’avvio con una calibrazione completamente vuota.
      • Questo è desiderabile per consentire l’avvio per gli utenti che hanno perso i loro dati di calibrazione a causa del brick homebrew prima dell’implementazione della protezione bis.
  • creport è stato aggiornato per utilizzare le nuove API di screenshot aggiunte in 9.0.0+.
    • Su 10.0.0+, se si verifica un arresto anomalo in un’applicazione (non applet o sysmodule), ora uno screenshot verrà automaticamente salvato sulla scheda SD.
    • Se l’utente applica una patch a vi su 9.0.0 (poiché il comando utilizzato in precedenza era solo per le unità dev), questo può funzionare anche su 9.0.0.
  • Il nuovo sysmodule pglaggiunto in 10.0.0 è stato reimplementato.
    • pgl (“Program Launcher”, probabilmente) è responsabile della gestione dei processi utente avviati, precedentemente gestiti da NS.
    • La cosa più eccitante di pgl è che fornisce finalmente un’API a più client per iscriversi agli eventi di processo.
    • Utilizzando queste nuove API, i moduli di sistema / altri homebrew possono iscriversi per ricevere una notifica ogni volta che si verifica un evento di processo.
      • Ciò significa che è possibile intraprendere azioni all’avvio del processo, all’uscita dal processo, al crash del processo, ecc.
    • Una leggera preoccupazione per l’implementazione di Nintendo è che ogni oggetto abbonato utilizza 0x448 byte di memoria e N riserva solo 8 KB per tutte le allocazioni in pgl.
    • L’implementazione di Atmosphere utilizza un heap da 32 KB, che non dovrebbe essere esauribile.
    • L’implementazione di Atmosphere ha un footprint di memoria totale di circa 0x28000 byte inferiore a quello di Nintendo.
  • È stata aggiunta una reimplementazione per il jpegdecmodulo di sistema (grazie @HookedBehemoth )!
    • Ciò consente due sessioni anziché 1, quindi homebrew ora può usarlo per la decodifica jpeg del software oltre al sistema operativo stesso.
    • Come al solito, l’implementazione ha un ingombro di memoria leggermente inferiore rispetto a quello di Nintendo.
  • dmntLa Cheat VM è stata estesa per aggiungere tre nuovi codici operativi.
    • Il primo nuovo codice operativo, “ReadWriteStaticRegister”, consente ai cheat di leggere da un banco di 128 registri statici di sola lettura e di scrivere su un banco di 128 registri statici di sola scrittura.
      • Questo può essere usato insieme ai nuovi comandi IPC che consentono a un cheat manager di leggere o scrivere il valore di questi registri statici per avere cheat “dinamici”.
        • Ad esempio, un cheat manager potrebbe scrivere un valore in un registro statico che un cheat controlla il numero di oggetti da dare in una partita.
        • Come altro esempio, un cheat manager potrebbe leggere un registro statico su cui scrive un cheat per sapere quanti oggetti ha un giocatore.
  • Il secondo e il terzo codice operativo sono una coppia, “PauseProcess” e “ResumeProcess”.
    • L’esecuzione del processo di pausa in un cheat metterà in pausa il gioco (verrà congelato) fino a quando non verrà utilizzato un opcode di processo di ripresa.
      • Questi sono disponibili anche su IPC, per cheat manager o moduli di sistema che vogliono mettere in pausa o riprendere il processo cheat allegato.
    • Ciò consente a un imbroglione di sapere che il gioco non modificherà o non accederà ai dati a cui sta accedendo.
      • Ad esempio, questo può essere usato per impedire a Pokemon di vedere un pokemon mentre un cheat sta per iniettare e trasformarlo in un uovo cattivo.
  • È stato corretto un bug che causava l’arresto anomalo della console quando si connetteva al Wi-Fi nelle versioni tra 3.0.0 e 4.1.0 incluso.
  • È stato corretto un bug che poteva causare l’avvio sporadico a causa di una cattiva gestione della cache / tlb durante l’esecuzione dell’ASLR fisico del kernel.
  • Sono stati risolti numerosi altri problemi minori (e una parte maggiore di Atmosfera è stata aggiornata per riflettere altre modifiche in 10.0.x).
  • Miglioramenti generali della stabilità del sistema per migliorare l’esperienza dell’utente.

Per informazioni sul set di funzionalità supportato da 0.12, consultare le note di rilascio ufficiali .

Download

Fonte
Github
Ti è piaciuta la notizia? Supporta Francesco su Patreon!

Rispondi