
Decrittazione AEA OTA/IPSW
Decrittografia AEA OTA/IPSW
get_key.py
requestspyhpkeaastuff
aastuff_standalone
get_key.pypip3 install -r requirements.txt
[!NOTE] È altamente consigliato utilizzare un ambiente virtuale:
python3 -m venv .env # only needed once source .env/bin/activate pip3 install -r requirements.txt # only needed onceNelle esecuzioni successive, devi solo attivare l'ambiente virtuale:
source .env/bin/activate
aastuff/aastuff_standalonePuoi passare due opzioni al makefile:
DEBUG=1: build di debug (stampe di debug, nessuna ottimizzazione, informazioni di debug)HPKE=1: build con supporto HPKE (richiede macOS 14.0+)make [DEBUG=1] [HPKE=1]
get_key.pyEstrai la chiave di decrittografia utilizzando i dati incorporati nel blob di dati di autenticazione di un AEA.
[!NOTE] Gli OTA precedenti alla beta 3 di iOS 18.0 non avevano dati di autenticazione incorporati; per questi OTA, devi utilizzare la chiave di decrittografia fornita con la tua risposta. macOS è l'eccezione e ha sempre avuto dati di autenticazione incorporati.
source .env/bin/activate # if you used a virtual environment
python3 get_key.py <path to AEA>
aea decrypt -i <path to AEA> -o <decrypted output file> -key-value 'base64:<key in base64>'
# or
./aastuff -i <path to AEA> -o <decrypted output folder> -d -k <key in base64>
# or, to use the network to grab the private key
./aastuff -i <path to AEA> -o <decrypted output folder> -d -n
Per gli IPSW, otterrai il file estratto (es. 090-34187-052.dmg.aea verrà decrittografato in 090-34187-052.dmg).
Per le risorse, otterrai Apple Archive appositamente costruiti (vedi sezione successiva).
Le risorse (incluse le OTA) sono costruite in modo speciale e non possono essere estratte con gli strumenti standard (aa). Possono essere decrittografate normalmente, ottenendo un Apple Archive non estraibile con aa (li chiameremo "archivi di risorse"). Per estrarli è necessario usare aastuff.
# Decrypt if necessary
aea decrypt -i <path to AEA> -o <decrypted asset archive> -key-value 'base64:<key in base64>'
./aastuff -i <decrypted asset archive> -o <output folder>
aastuff può anche gestire archivi di risorse non ancora decrittografati:
./aastuff -i <path to AEA> -o <output folder> -k <key in base64>
Esegui ./aastuff -h per informazioni complete sull'uso.
[!NOTE]
aastuff_standaloneha più funzionalità, tra cui elenchi di file ed estrazione selettiva. Esegui./aastuff_standalone -hper informazioni complete sull'uso.
aastuff utilizza AAAssetExtractor, funzioni di libAppleArchive, per estrarre gli archivi di risorse. Tuttavia, è un'API piuttosto spoglia e non offre funzionalità come l'estrazione selettiva.
aastuff_standalone utilizza (per lo più) funzioni standard di libAppleArchive per estrarre gli archivi di risorse. Offre funzionalità come elenchi di file ed estrazione selettiva, ma non è completamente validato su tutti i possibili archivi di risorse.
Per ora, entrambi sono compilati e utilizzati allo stesso modo. Una volta che aastuff_standalone sarà completamente funzionale e validato, aastuff verrà deprecato.