
जेलब्रोकन iOS 11.x पर App Store ऐप्स को डिक्रिप्ट करने की उपयोगिता
जेलब्रोकन iOS 11.x पर App Store ऐप्स को डिक्रिप्ट करने की उपयोगिता
यहाँ Electra-जेलब्रोकन iPhone पर Reddit ऐप को डिक्रिप्ट करने के लिए https://github.com/BishopFox/bfinject का उपयोग करने का एक उदाहरण है:
Cs-iPhone:~ root# bash bfinject -P Reddit -l dylibs/bfdecrypt.dylib
[+] Electra detected.
[+] Injecting into '/var/containers/Bundle/Application/BCEBDD64-6738-45CE-9B3C-C6F933EA0793/Reddit.app/Reddit'
[+] Getting Team ID from target application...
[+] Thinning dylib into non-fat arm64 image
[+] Signing injectable .dylib with Team ID 2TDUX39LX8 and platform entitlements...
[bfinject4realz] Calling task_for_pid() for PID 3218.
[bfinject4realz] Calling thread_create() on PID 3218
[bfinject4realz] Looking for ROP gadget... found at 0x1016a5110
[bfinject4realz] Fake stack frame at 0x10a06c000
[bfinject4realz] Calling _pthread_set_self() at 0x181303814...
[bfinject4realz] Returned from '_pthread_set_self'
[bfinject4realz] Calling dlopen() at 0x1810c3460...
[bfinject4realz] Returned from 'dlopen'
[bfinject4realz] Success! Library was loaded at 0x1c03e1100
[+] So long and thanks for all the fish.
आपको अपने डिवाइस पर यह स्क्रीन दिखाई देगी:
एक बार यह पूरा हो जाने पर, आपको एक UI अलर्ट दिखाया जाएगा जिसमें पूछा जाएगा कि क्या आप एक सेवा शुरू करना चाहते हैं जिससे आप अपना डिक्रिप्ट किया हुआ IPA डाउनलोड कर सकते हैं:
यदि आप Yes दबाते हैं, तो आपके डिवाइस के पोर्ट 31336 पर एक सेवा शुरू हो जाएगी। उससे कनेक्ट करें और आपको IPA की एक रॉ कॉपी भेजी जाएगी, जिसे netcat के साथ इस प्रकार डाउनलोड किया जा सकता है:
carl@calisto-3 /tmp $ nc 192.168.1.33 31336 > decrypted.ipa
carl@calisto-3 /tmp $ ls -l decrypted.ipa
-rw-r--r-- 1 carl wheel 14649063 Jan 25 16:57 decrypted.ipa
carl@calisto-3 /tmp $ file decrypted.ipa
decrypted.ipa: iOS App Zip archive data, at least v2.0 to extract
वैकल्पिक रूप से, डिवाइस का कंसोल लॉग देखें, यह आपको बताएगा कि डिक्रिप्ट किया गया IPA कहाँ संग्रहीत है। उदाहरण के लिए:
[dumpdecrypted] Wrote /var/mobile/Containers/Data/Application/6E6A5887-8B58-4FC5-A2F3-7870EDB5E8D1/Documents/decrypted-app.ipa
आप फ़ाइल सिस्टम में IPA को इस प्रकार भी खोज सकते हैं:
find /var/mobile/Containers/Data/Application/ -name decrypted-app.ipa
.ipa को डिवाइस से बाहर निकालना netcat के साथ किया जा सकता है। अपने लैपटॉप पर, एक लिसनर सेवा सेट करें:
ncat -l 0.0.0.0 12345 > decrypted.ipa
और जेलब्रोकन डिवाइस पर:
cat /path/to/decrypted.ipa > /dev/tcp/<IP_OF_YOUR_COMPUTER>/12345
.ipa, App Store से मूल .ipa का एक क्लोन होगा, सिवाय इसके कि मुख्य बाइनरी और उसके साथ आने वाले सभी फ्रेमवर्क और शेयर्ड लाइब्रेरीज़ डिक्रिप्ट कर दी जाएंगी। पहले से एन्क्रिप्टेड प्रत्येक फ़ाइल में CRYPTID फ्लैग 0 होगा। आप .ipa ले सकते हैं, ऐप निकाल सकते हैं, आवश्यकतानुसार संशोधित कर सकते हैं, इसे अपने स्वयं के डेवलपर प्रमाणपत्र के साथ फिर से साइन कर सकते हैं, और आवश्यकतानुसार इसे गैर-जेलब्रोकन डिवाइसों पर डिप्लॉय कर सकते हैं।
इसे Electra और LiberiOS के साथ सफलतापूर्वक परीक्षण किया गया है।