
AEA OTA/IPSW decryption
AEA-OTA/IPSW-Entschlüsselung
get_key.py
requestspyhpkeaastuff
aastuff_standalone
get_key.pypip3 install -r requirements.txt
[!NOTE] Es wird dringend empfohlen, eine virtuelle Umgebung zu verwenden:
python3 -m venv .env # only needed once source .env/bin/activate pip3 install -r requirements.txt # only needed onceBei zukünftigen Ausführungen musst du nur die virtuelle Umgebung aktivieren:
source .env/bin/activate
aastuff/aastuff_standaloneDu kannst dem Makefile zwei Optionen übergeben:
DEBUG=1: Debug-Build (Debug-Ausgaben, keine Optimierungen, Debug-Informationen)HPKE=1: Build mit HPKE-Unterstützung (benötigt macOS 14.0+)make [DEBUG=1] [HPKE=1]
get_key.py abrufenEntpacke den Entschlüsselungsschlüssel mithilfe der Daten, die im Auth-Daten-Blob einer AEA eingebettet sind.
[!NOTE] OTAs vor iOS 18.0 beta 3 hatten keine eingebetteten Auth-Daten; für diese OTAs musst du den Entschlüsselungsschlüssel verwenden, der mit deiner Antwort geliefert wurde. macOS ist die Ausnahme und hatte schon immer eingebettete Auth-Daten.
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
Bei IPSWs erhältst du die entschlüsselte Datei (d. h. 090-34187-052.dmg.aea wird zu 090-34187-052.dmg entschlüsselt).
Bei Assets erhältst du speziell erstellte Apple-Archive (siehe nächster Abschnitt).
Assets (einschließlich OTA-Updates) sind speziell konstruiert und können nicht mit den Standard-aa-Werkzeugen extrahiert werden. Sie können normal entschlüsselt werden, was zu einem Apple Archive führt, das nicht mit aa extrahierbar ist (wir nennen diese "Asset-Archive"). Zum Extrahieren muss aastuff verwendet werden.
# 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 kann auch Asset-Archive verarbeiten, die noch nicht entschlüsselt sind:
./aastuff -i <path to AEA> -o <output folder> -k <key in base64>
Führe ./aastuff -h aus, um die vollständigen Nutzungsinformationen zu erhalten.
[!NOTE]
aastuff_standalonebietet mehr Funktionen, einschließlich Dateiauflistungen und selektiver Extraktion. Führe./aastuff_standalone -haus, um die vollständigen Nutzungsinformationen zu erhalten.
aastuff verwendet AAAssetExtractor, Funktionen aus libAppleArchive, um Asset-Archive zu extrahieren. Es ist jedoch eine ziemlich dürftige API und bietet keine Funktionen wie selektive Extraktion.
aastuff_standalone verwendet (größtenteils) Standardfunktionen von libAppleArchive, um Asset-Archive zu extrahieren. Es bietet Dinge wie Dateiauflistungen und selektive Extraktion, ist aber nicht vollständig gegen alle möglichen Asset-Archive validiert.
Derzeit werden beide auf die gleiche Weise erstellt und verwendet. Sobald aastuff_standalone voll funktionsfähig und validiert ist, wird aastuff als veraltet eingestuft.