[SWITCH]Rilasciato Atmosphère V0.8.2Tempo di lettura : 10 min

Nono aggiornamento del CFW Atmosphère rilasciato in nottata da SciresM con la nuova versione 0.8.2 .Un certo numero di bug sono stati risolti sul KFUSE, TSEC, su alcuni moduli sul firmware 1.0.0 e sulla modalità sleep con debugmode abilitato.Di conseguenza, debugmode è ora abilitato nel BCT.ini predefinito.Per installare questa nuova versione, basta decomprimere il file ZIP nella SD e inviare il fusee-primary.bin allo switch tramite Fusée Gelée oppure creando un vostro pacchetto personalizzato tramite questo sito (utilizzando Kosmos, decomprimendo e copiando i file di Atmosphere 0.8.2 nella cartella sd).Continuate a leggere l’articolo per il set di funzioni disponibili e il changelog completo di questa versione.

Componenti

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

  • Fusée: Loader di primo livello, responsabile del caricamento e della validazione della fase 2 (TrustZone personalizzato) più il pacchetto 2 (i sysmodules Kernel / FIRM) e la relativa patch se necessario. Questo sostituisce tutte le funzionalità normalmente in Package1loader / NX Bootloader.
  • 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

FUNZIONI

  • Fusée , un bootloader personalizzato.
    • Supporta il caricamento / personalizzazione di KIP arbitrari dalla scheda SD.
    • Supporta patch del kernel definite in fase di compilazione su base per-firmware.
    • Configurabile modificando BCT.ini sulla scheda SD.
    • Atmosphère dovrebbe anche essere risucchiato dal bootloader hekate alternativo , per coloro che lo preferiscono.
  • Exosphère , un monitor sicuro personalizzato completo.
    • Exosphere è una re-implementazione del firmware TrustZone di Nintendo, che replica completamente tutte le sue funzionalità.
    • Inoltre, è stato esteso per fornire informazioni sull’attuale versione dell’API Atmosphere, per gli homebrew che desiderano farne uso.
  • Stratosphère , un insieme di moduli di sistema personalizzati. Ciò comprende:
    • Un modulo di sistema del loader .
      • Reimplementazione del loader Nintendo, replicando completamente tutte le funzionalità originali.
      • Esteso per supportare il reindirizzamento arbitrario del contenuto eseguibile sulla scheda SD.
        • I file verranno caricati preferenzialmente /atmosphere/titles/<titleid>/exefs/, se presenti.
        • I file presenti nell’exef originale che un utente vuole contrassegnare come non presente possono essere “stub” creando un file .stub sulla SD.
        • Se presente, un PFS0 /atmosphere/titles/<titleid>/exefs.nsp sostituirà completamente l’exef originale su 2.0.0+
        • Il reindirizzamento sarà opzionalmente modificabile tenendo premuti determinati pulsanti.
      • Viene implementato il supporto completo per l’applicazione di patch ai contenuti NSO.
        • /atmosphere/exefs_patches/<user-defined patch name>/<Hex Build-ID for NSO to patch>.ips Verranno applicate tutte le patch su percorsi simili , consentendo una facile distribuzione di patch che supportano più versioni e / o titoli di firmware.
        • Sono supportati entrambi i formati IPS e IPS32.
      • Ampliato per supportare l’avvio di contenuti da file eseguibili liberi sulla scheda SD, senza richiedere alcuna installazione ufficiale.
        • Questo viene fatto specificando FsStorageId_Noneall’avvio.
    • Un modulo di sistema del gestore servizi .
      • Reimplementazione del service manager di Nintendo, replicando completamente tutte le funzionalità originali.
      • Supporto in fase di compilazione per la reintroduzione di “smhax”, che consente al client di saltare facoltativamente la verifica dell’accesso ai servizi saltando l’inizializzazione.
      • Esteso per consentire a homebrew di acquisire più servizi privilegiati rispetto a quanto consentito da Nintendo.
      • Esteso per aggiungere una nuova API per l’installazione di listener Man-In-The-Middle per servizi arbitrari.
        • L’API può inoltre essere utilizzata per rilevare in modo sicuro se un servizio è stato registrato in modo non bloccante senza effetti collaterali.
        • Documentazione completa delle API in arrivo.
    • Un modulo di sistema del gestore processi .
      • Reimplementazione del process manager di Nintendo, replicando completamente tutte le funzionalità originali.
      • Esteso per consentire a homebrew di acquisire handle per processi arbitrari e quindi leggere / modificare la memoria di sistema senza bloccare l’esecuzione.
      • Esteso includendo un’implementazione completa ed estesa del modulo di sistema boot2 di Nintendo .
        • L’ordine di lancio del titolo è stato ottimizzato per consentire l’accesso alla scheda SD più rapidamente.
        • Il modulo del sistema di raccolta degli errori non viene avviato intenzionalmente, impedendo la generazione di molti report di errore di telemetria del sistema.
        • Gli utenti possono inserire i propri sysmodules personalizzati sulla scheda SD e contrassegnarli per l’avvio automatico di boot2 creando un file /atmosphere/titles/<title ID>/boot2.flag sulla loro scheda SD.
    • Un modulo di sistema fs.mitm personalizzato .
      • Utilizza l’API MitM di Atmosphère per fornire agli utenti un mezzo semplice per modificare i contenuti del gioco.
      • Intercetta tutti i comandi FS inviati dai giochi, con una gestione speciale per i comandi utilizzati per montare contenuti RomFS / DLC per consentire una facile creazione e distribuzione di mod di gioco / DLC.
        • fs.mitm analizzerà l’immagine RomFS di base per un gioco, un’immagine RomFS in cui si trovano /atmosphere/titles/<title ID>/romfs.bine tutti i file /atmosphere/titles/<title ID>/romfs/inutilizzati e li unirà in un’unica immagine RomFS.
          • Quando si uniscono, i file sfusi sono preferiti al contenuto nell’immagine della scheda SD romfs.bin e i file dall’immagine della scheda SD sono preferiti a quelli nell’immagine di base.
      • Può inoltre essere utilizzato per intercettare i comandi inviati da titoli di sistema arbitrari (ad eccezione di quelli lanciati prima che la scheda SD sia attiva), creando un /atmosphere/titles/<title ID>/fsmitm.flagfile sulla scheda SD.
    • Un modulo di sistema personalizzato rapporto di arresto anomalo .
      • Funziona come un rimpiazzo per il modulo del sistema Creport di Nintendo.
      • Genera report dettagliati e leggibili da umani sui crash di sistema, salvando in /atmosphere/crash_reports/<timestamp>_<title ID>.log.
      • Poiché i report non vengono inviati al erptsysmodule, disabilita tutta la telemetria correlata al rapporto di arresto anomalo.
  • Miglioramenti alla stabilità generale del sistema per migliorare l’esperienza dell’utente.

In previsione

Ci sono un certo numero di funzionalità pianificate per l’inclusione di Atmosphère che non saranno disponibili per la versione 0.7. A mano a mano che vengono implementati, la versione di rilascio di Atmosphère passerà da 0.7 a 0.8 a 0.9 e infine 1.0.

Queste funzionalità attualmente pianificate includono (ma non sono limitate a):

  • Thermosphère , un’implementazione emunand hypervisor-based.
  • Un set di strumenti di debug ricco di funzionalità (un componente di Stratosphère).
    • Un modulo di sistema monitor di debug personalizzato , che fornisce un’API per il debug dei processi di Switch. Potrebbe non essere una reimplementazione del monitor di debug di Nintendo.
      • Questo dovrebbe includere un’implementazione gdbstub, possibilmente in prestito da Luma3DS.
      • Questa API dovrebbe essere ulteriormente utilizzabile per gli scopi di modifica della RAM / “Cheat Engine”.
    • Un modulo di shell system personalizzato , che fornisce agli utenti un mezzo per eseguire vari RPC (con supporto per funzionalità comuni / interessanti) sul proprio Switch in remoto. Potrebbe non essere una reimplementazione della shell di Nintendo.
      • Questo dovrebbe supportare le connessioni client sia su Wi-Fi che su USB.
    • Un modulo di sistema di registrazione personalizzato , che fornisce un mezzo per altri componenti di Atmosphère (e possibilmente per i moduli di sistema di Nintendo) per registrare l’output di debug.
      • Questo dovrebbe supportare l’accesso alla scheda SD, tramite Wi-Fi e via USB.
  • Un sistema di plugin a livello di applicazione.
    • Idealmente, ciò funzionerà in qualche modo come il sistema di plugin di NTR-CFW sul 3DS, consentendo agli utenti di eseguire il proprio codice nel processo di un gioco nella propria thread.
  • Un’implementazione analogica AR Code / Gameshark, che consente una facile condivisione / sviluppo di codici cheat da eseguire sul dispositivo.
  • Ulteriori estensioni ai componenti esistenti di Atmosphère.
  • Miglioramenti alla stabilità generale del sistema per migliorare l’esperienza dell’utente.

Changelog

V0.8.2

  • Un certo numero di bug è stato risolto per gli utenti che a volte  vedevano Key Derivation Failed!.
    • Le temporizzazioni di abilitazione del clock KFUSE sono state regolate per consentire il tempo di stabilizzarsi prima che a TSEC venga concesso l’accesso.
    • È stata risolta una condizione di competizione che potrebbe causare l’utilizzo di dati chiave errati in 6.2.0
    • Il firmware TSEC è ora ritentato in caso di errore, risolvendo un errore che riguardava ~ 1/50 scarichi in 6.2.0.
  • È stato risolto un bug che causava il mancato funzionamento di alcuni moduli sul firmware 1.0.0.
  • È stato risolto un bug che causava il mancato funzionamento della modalità sleep con debugmode abilitato.
    • Di conseguenza, debugmode è ora abilitato nel BCT.ini predefinito.
  • Miglioramenti alla stabilità generale del sistema per migliorare l’esperienza dell’utente.

V0.8.1

  • È stato corretto un bug che induceva gli utenti a vedere Failed to enable SMMU!se il fusee era stato precedentemente riavviato.
    • Questo messaggio si verifica ancora sporadicamente se il fusee non viene avviato da coldboot, ma non può mai succedere due volte di seguito.
  • Una condizione di competizione è stata risolta nella funzionalità di Atmosphere bis_protect che poteva far sì che NS potesse sovrascrivere le chiavi pubbliche BCT.
    • Questo a volte ha corrotto la protezione AutoRCM, la correzione corrente è stata testata su hardware e verificata per funzionare.
  • È stato aggiunto il supporto per l’abilitazione in base debugmode alla sezione exosphere di BCT.ini:
    • L’impostazione debugmode = 1 farà sì che Exosphere comunichi al kernel che il debugmode è attivo.
    • L’impostazione debugmode_user = 1 farà sì che exosphere comunichi all’utente che la modalità debug è attiva.
    • Questi sono completamente indipendenti l’uno dall’altro, consentendo un controllo preciso del comportamento del sistema.
  • È stato aggiunto il supporto per la funzionalità nogc ; grazie a @rajkosto per le patch.
    • Per impostazione predefinita, le patch nogc si applicano automaticamente se l’utente esegue il boot in 4.0.0+ con i fusibili da <= 3.0.2.
    • Gli utenti possono ignorare questa funzionalità tramite la voce nogc nella sezione stratosphere di BCT.ini:
      • L’impostazione nogc = 1 forzerà l’attivazione delle patch nogc.
      • L’impostazione nogc = 0 forzerà le patch di disabilitazione nogc.
    • Se le patch sono abilitate ma non trovate per il sistema di avvio, verrà generato un errore fatale.
      • Questo dovrebbe impedire l’esecuzione di FS senza patch nogc dopo l’aggiornamento a una versione di sistema non supportata.
  • È stata aggiunta un’estensione per exosphere che consente alle applicazioni userland di riavviare il sistema in RCM:
    • Questo viene fatto chiamando l’utente smcSetConfig(id=65001, value=<nonzero>); che homebrew può usare splSetConfig per questo.
  • In caso di errore irreversibile, l’utente può ora scegliere di eseguire un riavvio standard tramite il pulsante di accensione o di riavviare in RCM tramite il pulsante del volume.
  • È stato aggiunto un messaggio personalizzato fatal per quando viene rilevata una mancata corrispondenza della versione API Atmosphère (2495-1623).
  • Miglioramenti alla stabilità generale del sistema per migliorare l’esperienza dell’utente.

V0.8.0

  • È stato aggiunto un modulo di sistema personalizzato “fatal” .
    • Questo re-implementa ed estende il modulo fatal di Nintendo, con le seguenti caratteristiche:
      • Atmosphère fatal non crea segnalazioni di errore.
      • Atmosphère fatal disegna una schermata di errore personalizzata, mostrando i registri e un backtrace.
      • I tentativi fatal di Atmosphère di raccogliere informazioni di debug per tutti gli arresti anomali e non solo quelli che includono informazioni.
      • Atmosphère fatal tenterà di salvare i rapporti sulla SD, se non è stato generato un rapporto di arresto anomalo creport.
  • La gestione del flag del titolo è stata modificata per evitare l’ingombro delle cartelle.
    • Invece di utilizzare atmosphere/titles/<tid>/%s.flag,i flag ora si trovano inatmosphere/titles/<tid>/flags/%s.flag
      • Il vecchio formato continuerà ad essere supportato per qualche tempo, ma è deprecato.
    • I flag possono ora essere applicate a HBL posizionandole su atmosphere/flags/hbl_%s.flag.
  • Sono state apportate modifiche all’API del mitm, migliorando notevolmente la semantica del chiamante.
    • sm ora informa i servizi di mitm di un id di processo di una nuova sessione, abilitando la gestione personalizzata in base all’id id di processo / titolo.
  • smhax non è più abilitato, perché non è più necessario e interrompe funzionalità significative.
    • Gli utenti con HBL / homebrew aggiornati non dovrebbero vedere differenze osservabili a causa di questo cambiamento.
  • Sono state aggiunte funzionalità che implementano le protezioni di base per NAND da userland homebrew:
    • BOOT0 ora dispone della protezione da scrittura per la chiave pubblica BCT e le regioni keyblob.
      • Il sysmodule ns non è più autorizzato a scrivere le chiavi pubbliche BCT
        • Ciò dovrebbe impedire agli aggiornamenti di sistema di rimuovere AutoRCM.
      • Nessun processo dovrebbe essere autorizzato a scrivere nella regione keyblob.
    • Per impostazione predefinita, le partizioni BIS diverse da BOOT0 sono ora di sola lettura e CAL0 non è né leggibile né scrivibile.
      • Aggiunge un flag bis_write per un titolo che gli consentirà di scrivere in BIS.
      • L’aggiunta di un flag cal_read per un titolo che consentirà di leggere CAL0.
    • Un backup automatico è ora fatto da CAL0 all’avvio.
      • fs.mitm mantiene un handle di file per questo backup, quindi il software per l’utente non può leggerlo.
    • Per facilitare questo, fs.mitm ora mitizza tutte le sessioni per i moduli non di sistema; l’override dei contenuti è stata separata dall’intercettazione del servizio.
    • Nota: queste protezioni sono fondamentali e un homebrew sufficientemente malevolo  può sconfiggerlo .
      • Si prega di fare attenzione a eseguire solo software homebrew da fonti di cui ci si fida.
  • È stato corretto un bug relativo ai titoli HDCP che si bloccavano sui firmware più recente.
  • È stato aggiunto il supporto per la versione 6.2.0 del sistema; i nostri ringraziamenti a @motezazer per il suo prezioso aiuto.
    • Per impostazione predefinita, le nuove chiavi verranno automaticamente derivate senza l’input dell’utente.
    • È inoltre disponibile il supporto per il caricamento di nuove chiavi da atmosphere/prod.keys o atmosphere/dev.keys
  • Miglioramenti alla stabilità generale del sistema per migliorare l’esperienza dell’utente.

V0.7.5

  • DRAM training è stato aggiunto al fusee-secondary, grazie a @hexkyz .
    • Ciò migliora notevolmente la velocità di accesso alla memoria durante l’avvio, risultando in un tempo di avvio ~ 200-400% più veloce.
  • creport ha avuto il suo rilevamento della regione del codice migliorato.
    • Invece di controllare solo uno dei PC / LR del thread in crash per la presenza della regione del codice, creport ora controlla entrambi + ogni indirizzo nello stacktrace.
      • Ciò corrisponde al miglioramento apportato da Nintendo alla versione ufficiale in 6.1.0.
    • L’euristica di rilevamento della regione del codice è stata ulteriormente migliorata controllando se un indirizzo punta a .rodata o .rwdata, invece del solo file .text.
    • Ciò significa che un arresto anomalo viene visualizzato in una regione di codice NRO caricata (o altrimenti discontinua), Creport sarà in grado di rilevare tutte le regioni di codice attive e non solo quella.
  • Miglioramenti alla stabilità generale del sistema per migliorare l’esperienza dell’utente.

V0.7.4

  • libstratosphere è stato completamente riscritto e diviso in un suo sottomodulo separato.
    • Sebbene questo sia principalmente “sotto la cappa” per gli utenti finali, il refactoring è più veloce (migliorando sia le prestazioni di avvio che quelle di runtime), più preciso (molte delle strutture IPC interne sono ora bug-per-bug compatibili con le implementazioni di Nintendo) e significativamente più stabile (risolve un gran numero di bug presenti nella vecchia libreria).
    • L’API refactored è significativamente più pulita e più facile da scrivere per il codice del modulo di sistema, che dovrebbe migliorare / accelerare lo sviluppo della stratosfera.
    • Gli sviluppatori che desiderano scrivere i propri moduli di sistema personalizzati per lo Switch possono ora includere facilmente libstratosphere come sottomodulo nei loro progetti.
  • Loader è stato esteso per aggiungere un nuovo modo generico per reindirizzare il contenuto (ExternalContentSources), courtesy @ misson20000 :
    • Un nuovo comando è stato aggiunto a ldr: shel, includendo un tid per reindirizzare e restituire un handle di sessione.
    • Quando il TID richiesto si sta caricando, Loader interrogherà l’handle come se fosse un IFileSystem.
      • Ciò consente ai clienti di definire genericamente i propri filesystem e sovrascrivere il contenuto con essi nel loader.
  • fs.mitm ha ottenuto diverse ottimizzazioni che dovrebbero migliorare le sue prestazioni e stabilità:
    • Il reindirizzamento di RomFS ora si verifica solo quando c’è del contenuto da reindirizzare, anche se il titolo viene mitmato altrove.
    • Viene conservata una cache dell’archivio dati attivo, se presente, per tutti gli ID titolo aperti. Ciò significa che se due processi tentano entrambi di aprire lo stesso archivio, fs.mitm non duplicherà alcuno dei suoi lavori.
    • I metadati RomFS sono ora memorizzati nella cache della scheda SD su build invece di essere mantenuti in memoria – questo riduce notevolmente l’ingombro della memoria e consente a fs.mitm di reindirizzare più titoli contemporaneamente rispetto a prima.
  • Sono stati corretti numerosi bug, tra cui:
    • Una perdita di risorse è stata risolta durante la creazione del processo. Questo risolve i crash che si verificano quando un grande numero di giochi (> 32) sono stati lanciati dall’ultimo riavvio.
    • fs.mitm non ha più errori durante la ricezione di un buffer a dimensione zero. Questo risolve i crash in alcuni giochi, incluso The Messenger.
    • La semantica del server multi-thread non dovrebbe più causare deadlock in determinate circostanze. Questo risolve i crash in alcuni giochi, tra cui NES Classics.
    • Ora PM fornisce solo le autorizzazioni complete per i KIP attivi. Questo risolve un potenziale crash in cui nuovi processi potrebbero non essere in grado di essere registrati con FS.
  • Il make disttarget ora include il ramo nel nome zip generato.
  • Miglioramenti alla stabilità generale del sistema per migliorare l’esperienza dell’utente.

V0.7.3

  • Loader e fs.mitm ora provano a ricaricare loader.ini prima di leggerlo. Ciò consente di modificare la combinazione di tasti di sovrascrittura / ID titolo HBL in fase di esecuzione.
  • Aggiunto un MitM tra set: sys e qlaunch, usato per sovrascrivere la stringa di versione del sistema visualizzata nelle impostazioni di sistema.
    • Le impostazioni di sistema ora verranno visualizzate <Actual version> (AMS <x>.<y>.<z>).
  • Miglioramenti alla stabilità generale del sistema per migliorare l’esperienza dell’utente.

V0.7.2

  • Risolto un bug nell’implementazione di lettura LayeredFS di fs.mitm che causava il crash di alcuni giochi durante il tentativo di leggere i file.
  • Risolto un problema riguardante il firmware 1.0.0 che causava il crash dei giochi con errore irreversibile 2001-0106 all’avvio.
  • Miglioramento dei nomi dei file da parte dell’obiettivo make dist.
  • Miglioramenti alla stabilità generale del sistema per migliorare l’esperienza dell’utente.

V0.7.1

  • Risolto un bug che impediva alle console in 4.0.0-4.1.0 di andare in sleep e di risvegliare il backup.
  • Risolto un bug che impediva alle console di <4.0.0 di avviarsi senza KIP specifici sulla scheda SD.
  • Un’API è stata aggiunta al Service Manager di Atmosphère per posticipare l’acquisizione di tutti i servizi specifici fino al completamento dell’inizializzazione.
  • Miglioramenti alla stabilità generale del sistema per migliorare l’esperienza dell’utente.

Download

Fonte
Github

hitech CODICE SCONTO G4M3SC0NS0L3S

Ti è piaciuta la notizia? Supporta theheroGAC su Patreon!

theheroGAC

Nato negli anni 80 con la passione dei videogiochi e delle console.Il mio primo home computer è l'Amiga 600 regalato a 10 anni.Amo aiutare le persone in difficoltà e scrivere notizie sulle console.Studio all'università e il sito Games And Consoles è la mia passione.Per gli amici mi potete chiamare Ciccio

Ti potrebbe anche interessare

Rispondi