
AEA OTA/IPSW decryption
فك تشفير AEA OTA/IPSW
get_key.py
requestspyhpkeaastuff
aastuff_standalone
get_key.pypip3 install -r requirements.txt
[!NOTE] يُنصح بشدة باستخدام بيئة افتراضية:
python3 -m venv .env # only needed once source .env/bin/activate pip3 install -r requirements.txt # only needed onceفي التشغيلات المستقبلية، تحتاج فقط إلى تفعيل البيئة الافتراضية:
source .env/bin/activate
aastuff/aastuff_standaloneيمكنك تمرير خيارين إلى ملف makefile:
DEBUG=1: بناء نسخة تصحيح (مطبوعات تصحيح، بدون تحسينات، معلومات تصحيح)HPKE=1: بناء مع دعم HPKE (يتطلب macOS 14.0+)make [DEBUG=1] [HPKE=1]
get_key.pyافتح مفتاح فك التشفير باستخدام البيانات المضمّنة في كتلة بيانات المصادقة الخاصة بـ AEA.
[!NOTE] إصدارات OTA قبل iOS 18.0 beta 3 لم تتضمّن بيانات مصادقة مضمّنة؛ لذلك يجب استخدام مفتاح فك التشفير المرفق مع استجابتك. macOS هو الاستثناء حيث كان يحتوي دائمًا على بيانات مصادقة مضمّنة.
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
بالنسبة لملفات IPSW، ستحصل على الملف المفكوك (أي أن 090-34187-052.dmg.aea سيُفك تشفيره إلى 090-34187-052.dmg).
أما بالنسبة للأصول، فستحصل على أرشيفات Apple مُصممة خصيصًا (انظر القسم التالي).
الأصول (بما في ذلك تحديثات OTA) مُنشأة بطريقة خاصة ولا يمكن استخراجها بالأدوات القياسية (aa). يمكن فك تشفيرها بشكل عادي، مما ينتج عنه أرشيف Apple غير قابل للاستخراج باستخدام aa (سنسمي هذه "أرشيفات الأصول"). يجب استخدام 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 أيضًا التعامل مع أرشيفات الأصول غير المفككة مسبقًا:
./aastuff -i <path to AEA> -o <output folder> -k <key in base64>
شغّل ./aastuff -h للحصول على معلومات الاستخدام الكاملة.
[!NOTE]
aastuff_standaloneيحتوي على ميزات أكثر، بما في ذلك قوائم الملفات والاستخراج الانتقائي. شغّل./aastuff_standalone -hللحصول على معلومات الاستخدام الكاملة.
يستخدم aastuff AAAssetExtractor، وهي دوال من libAppleArchive لاستخراج أرشيفات الأصول. ومع ذلك، فهي واجهة برمجية محدودة جدًا ولا توفر ميزات مثل الاستخراج الانتقائي.
يستخدم aastuff_standalone (في الغالب) دوال libAppleArchive القياسية لاستخراج أرشيفات الأصول. وهو يوفر ميزات مثل قوائم الملفات والاستخراج الانتقائي، لكنه ليس مُتحققًا منه بالكامل على جميع أرشيفات الأصول الممكنة.
في الوقت الحالي، يتم بناء كلاهما واستخدامهما بنفس الطريقة. بمجرد أن يصبح aastuff_standalone كامل الوظائف ومُتحققًا منه، سيتم إهمال aastuff.