
Descifrado de AEA OTA/IPSW
Descifrado de AEA OTA/IPSW
get_key.py
requestspyhpkeaastuff
aastuff_standalone
get_key.pypip3 install -r requirements.txt
[!NOTE] Se recomienda encarecidamente usar un entorno virtual:
python3 -m venv .env # only needed once source .env/bin/activate pip3 install -r requirements.txt # only needed onceEn futuras ejecuciones, solo necesitas activar el entorno virtual:
source .env/bin/activate
aastuff/aastuff_standalonePuedes pasar dos opciones al makefile:
DEBUG=1: compilar en modo debug (impresiones de depuración, sin optimizaciones, información de depuración)HPKE=1: compilar con soporte HPKE (requiere macOS 14.0+)make [DEBUG=1] [HPKE=1]
get_key.pyExtrae la clave de descifrado usando los datos incrustados en el blob de datos de autenticación de un AEA.
[!NOTE] Las OTA anteriores a iOS 18.0 beta 3 no tenían datos de autenticación incrustados; para estas OTA, debes usar la clave de descifrado proporcionada con tu respuesta. macOS es la excepción y siempre ha tenido datos de autenticación incrustados.
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
Para IPSWs, obtendrás el archivo sin envolver (p. ej., 090-34187-052.dmg.aea se descifrará a 090-34187-052.dmg).
Para los assets, obtendrás Apple Archives especialmente diseñados (consulta la siguiente sección).
Los assets (incluidas las actualizaciones OTA) se construyen de forma especial y no se pueden extraer con las herramientas estándar (aa). Se pueden descifrar normalmente, lo que dará como resultado un Apple Archive que no se puede extraer con aa (los llamaremos "archivos de asset"). aastuff debe usarse para extraerlos.
# 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 también puede manejar archivos de asset que aún no estén descifrados:
./aastuff -i <path to AEA> -o <output folder> -k <key in base64>
Ejecuta ./aastuff -h para obtener información completa de uso.
[!NOTE]
aastuff_standalonetiene más funciones, incluidos listados de archivos y extracción selectiva. Ejecuta./aastuff_standalone -hpara obtener información completa de uso.
aastuff usa AAAssetExtractor, funciones de libAppleArchive, para extraer archivos de asset. Sin embargo, es una API bastante limitada y no ofrece cosas como la extracción selectiva.
aastuff_standalone usa (en su mayoría) funciones estándar de libAppleArchive para extraer archivos de asset. Ofrece cosas como listados de archivos y extracción selectiva, pero no está completamente validado contra todos los archivos de asset posibles.
Por ahora, ambos se compilan y se usan de la misma manera. Una vez que aastuff_standalone esté completamente funcional y validado, aastuff quedará obsoleto.