
AEA OTA/IPSW डिक्रिप्शन
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 के auth data blob में एम्बेडेड डेटा का उपयोग करके डिक्रिप्शन कुंजी को अनरैप करें।
[!NOTE] iOS 18.0 beta 3 से पहले के OTA में एम्बेडेड auth data नहीं था; इन OTA के लिए, आपको अपनी प्रतिक्रिया के साथ प्रदान की गई डिक्रिप्शन कुंजी का उपयोग करना होगा। macOS इसका अपवाद है और उसमें हमेशा एम्बेडेड auth data रहा है।
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 Archives मिलेंगे (अगला अनुभाग देखें)।
एसेट्स (OTA अपडेट सहित) विशेष रूप से निर्मित होते हैं और मानक (aa) टूलिंग के साथ नहीं निकाले जा सकते। उन्हें सामान्य रूप से डिक्रिप्ट किया जा सकता है, जिसके परिणामस्वरूप एक Apple Archive बनेगा जो aa के साथ निकालने योग्य नहीं है (हम इन्हें "asset archives" कहेंगे)। उन्हें निकालने के लिए 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 उन asset archives को भी संभाल सकता है जो पहले से डिक्रिप्टेड नहीं हैं:
./aastuff -i <path to AEA> -o <output folder> -k <key in base64>
पूर्ण उपयोग जानकारी के लिए ./aastuff -h चलाएँ।
[!NOTE]
aastuff_standaloneमें अधिक सुविधाएँ हैं, जिनमें फ़ाइल सूचियाँ और चयनात्मक निष्कर्षण शामिल हैं। पूर्ण उपयोग जानकारी के लिए./aastuff_standalone -hचलाएँ।
aastuff एसेट आर्काइव निकालने के लिए AAAssetExtractor, libAppleArchive के फ़ंक्शन का उपयोग करता है। हालाँकि, यह एक काफी सूना API है और चयनात्मक निष्कर्षण जैसी सुविधाएँ प्रदान नहीं करता है।
aastuff_standalone एसेट आर्काइव निकालने के लिए (अधिकतर) मानक libAppleArchive फ़ंक्शन का उपयोग करता है। यह फ़ाइल सूचियों और चयनात्मक निष्कर्षण जैसी चीज़ें प्रदान करता है, लेकिन सभी संभावित एसेट आर्काइव के विरुद्ध पूरी तरह से मान्य नहीं है।
अभी के लिए, दोनों एक ही तरह से बनाए और उपयोग किए जाते हैं। एक बार aastuff_standalone पूरी तरह कार्यात्मक और मान्य हो जाने पर, aastuff को हटा दिया जाएगा (deprecated)।