
AEA OTA/IPSW decryption
Descriptografia de AEA OTA/IPSW
get_key.py
requestspyhpkeaastuff
aastuff_standalone
get_key.pypip3 install -r requirements.txt
[!NOTE] É altamente recomendado usar um ambiente virtual:
python3 -m venv .env # only needed once source .env/bin/activate pip3 install -r requirements.txt # only needed onceNas execuções futuras, você só precisa ativar o ambiente virtual:
source .env/bin/activate
aastuff/aastuff_standaloneVocê pode passar duas opções para o makefile:
DEBUG=1: compilação de depuração (impressões de depuração, sem otimizações, informações de depuração)HPKE=1: compilar com suporte a HPKE (requer macOS 14.0+)make [DEBUG=1] [HPKE=1]
get_key.pyDesembrulhe a chave de descriptografia usando os dados embutidos no blob de auth data de um AEA.
[!NOTE] OTAs anteriores ao iOS 18.0 beta 3 não possuíam auth data embutido; para esses OTAs, você deve usar a chave de descriptografia fornecida com a sua resposta. O macOS é a exceção e sempre teve auth data embutido.
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, você obterá o arquivo desembrulhado (ou seja, 090-34187-052.dmg.aea será descriptografado para 090-34187-052.dmg).
Para assets, você obterá Apple Archives especialmente elaborados (veja a próxima seção).
Os assets (incluindo atualizações OTA) são construídos de forma especial e não podem ser extraídos com as ferramentas padrão (aa). Eles podem ser descriptografados normalmente, o que resultará em um Apple Archive que não é extraível com aa (chamaremos esses de "asset archives"). O aastuff deve ser usado para extraí-los.
# 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>
O aastuff também pode lidar com asset archives que ainda não foram descriptografados:
./aastuff -i <path to AEA> -o <output folder> -k <key in base64>
Execute ./aastuff -h para obter informações completas de uso.
[!NOTE] O
aastuff_standalonetem mais recursos, incluindo listagens de arquivos e extração seletiva. Execute./aastuff_standalone -hpara obter informações completas de uso.
O aastuff usa AAAssetExtractor, funções da libAppleArchive, para extrair asset archives. No entanto, é uma API bastante limitada e não oferece recursos como extração seletiva.
O aastuff_standalone usa (principalmente) funções padrão da libAppleArchive para extrair asset archives. Ele oferece recursos como listagens de arquivos e extração seletiva, mas não foi totalmente validado contra todos os asset archives possíveis.
Por enquanto, ambos são compilados e usados da mesma forma. Assim que o aastuff_standalone estiver totalmente funcional e validado, o aastuff será descontinuado.