
रोबस्ट Frida-आधारित टूल जो जेलब्रोकन डिवाइस से डिक्रिप्टेड iOS ऐप्स को .ipa के रूप में डंप करता है, यह App Store, साइडलोडेड और सिस्टम ऐप्स को सपोर्ट करता है
यह प्रोजेक्ट frida-ios-dump से प्रेरित था।
चूँकि मुझे हाल ही में उस टूल में समस्याएँ आईं, मैंने अधिक मजबूती और अतिरिक्त सुविधाओं के साथ frida-ipa-extract बनाने का निर्णय लिया ताकि आज हम जिन समस्याओं का सामना करते हैं उन्हें हल किया जा सके।
Frida का उपयोग करके एक जेलब्रेकन iOS डिवाइस से डिक्रिप्टेड .ipa निकालें। App Store, साइडलोड और सिस्टम ऐप्स के माध्यम से इंस्टॉल किए गए ऐप्स का समर्थन करता है।
frida-server चलाने वाला जेलब्रेकन iOS डिवाइसInstallation:
# Install as a standalone tool using uv or pipx
uv tool install git+https://github.com/lautarovculic/frida-ipa-extract.git
# Or install as an editable package (for development)
pip install -e .
# Using the entry point (if installed as standalone tool)
frida-ipa-extract
# Or using the script directly
python extract.py -U -f com.example.app -o MyApp.ipa
python extract.py -U -f com.example.app -o MyApp.ipa --sandbox
python extract.py -U -f com.example.app -o MyApp.ipa --no-resume
python -m frida_ipa_extract -U --pid 1234 -o MyApp.ipa
./extract.py -U "My Running App"
python extract.py -H 192.168.100.32 -P 2222 -u root -p password -f com.example.app
तर्क:
-f <target>: एक ऐप लॉन्च करें (बंडल आईडी या ऐप नाम)--pid <pid>: चल रहे PID से अटैच करेंtarget (स्थिति के अनुसार): चल रहे ऐप का नाम/बंडल आईडी-o <path>: आउटपुट IPA पथ (डिफ़ॉल्ट <AppName>.ipa)-U: USB के माध्यम से कनेक्ट करें-H <host> -P <port> -u <user> -p <pass>: SSH (paramiko) के माध्यम से कनेक्ट करें--sandbox: ऐप सैंडबॉक्स को वर्तमान निर्देशिका में <AppName>-sandbox पर डंप करें--no-resume: लॉन्च किए गए ऐप को निलंबित रखें (उपयोगी अगर इंस्ट्रुमेंटेड होने पर ऐप जेलब्रेक डिटेक्शन के कारण क्रैश हो जाता है)यदि आप -f या --pid पास नहीं करते हैं, तो टूल चल रहे ऐप से अटैच होता है। यदि कोई लक्ष्य प्रदान नहीं किया जाता है, तो यह चल रहे ऐप्स को सूचीबद्ध करेगा और आपको चुनने के लिए प्रेरित करेगा।
-U के बिना SSH का उपयोग करते समय, टूल पोर्ट 27042 पर frida-server के लिए एक स्थानीय टनल खोलता है और ऐप बंडल डाउनलोड करने के लिए SFTP का उपयोग करता है। यदि आप -U और -H दोनों पास करते हैं, तो USB का उपयोग Frida के लिए और SSH का उपयोग केवल फ़ाइल ट्रांसफर के लिए किया जाता है।-f का उपयोग करें।frida-server चल रहा है।--no-resume या SSH ट्रांसफर का उपयोग करें।Frida attach timed out: ऐप अटैच को ब्लॉक कर सकता है; लॉन्च करने के लिए -f का उपयोग करें या --no-resume आज़माएँ।script has been destroyed: ऐप क्रैश हो गया; --no-resume के साथ पुनः प्रयास करें या SSH ट्रांसफर (-H/-u/-p) का उपयोग करें।No running apps found: ऐप नहीं चल रहा है; इसे लॉन्च करने के लिए -f का उपयोग करें।