
iOS 11.0 - 11.1.2 के लिए LiberiOS और Electra जेलब्रेक के साथ Dylib इंजेक्शन
जेलब्रेक किए गए 64-बिट iOS 11.0 - 11.1.2 के लिए आसान dylib इंजेक्शन। Electra और LiberiOS जेलब्रेक के साथ संगत।
bfinject चल रहे App Store ऐप्स में मनमानी dylib लोड करता है। इसमें App Store ऐप्स को डिक्रिप्ट करने का अंतर्निहित समर्थन है, और यह iSpy और Cycript के साथ बंडल आता है।
bfinject एक रैपर है जो bfinject4realz का उपयोग करके आपकी dylib को इंजेक्ट करने से पहले उन्हें सही ढंग से कोडसाइन करने का ध्यान रखता है। यह पूरी तरह से स्टैंडअलोन है, इसे jailbreakd, QiLin, या ऐसा कुछ भी आवश्यक नहीं है। यह बस काम करता है।
नोट: यदि "Tweaks" सक्षम है तो bfinject Electra पर काम नहीं करता है। bfinject का उपयोग करने के लिए रिबूट करें और बिना tweaks के Electra को फिर से चलाएँ। यदि आपको "thread_create" के साथ त्रुटियाँ दिखती हैं, तो यही समस्या है।
नोट: bfdecrypt यहाँ एक स्टैंडअलोन dylib के रूप में उपलब्ध है: https://github.com/BishopFox/bfdecrypt/
wget SSL का समर्थन नहीं करता है।ssh root@your-device-ip # (the password is 'alpine')
mkdir bfinject
cd bfinject
wget http://<your_server>/bfinject.tar
tar xvf bfinject.tar
wget SSL का समर्थन नहीं करता है।ssh root@your-device-ip # (the password is 'alpine')
export PATH=$PATH:/jb/usr/bin:/jb/bin:/jb/sbin:/jb/usr/sbin:/jb/usr/local/bin:
cd /jb
mkdir bfinject
cd bfinject
wget http://<your_server>/bfinject.tar
tar xvf bfinject.tar
bash bfinject टाइप करेंbash लगाना महत्वपूर्ण है अन्यथा यह काम नहीं करेगा। सैंडबॉक्स वगैरह-वगैरह।-bash-3.2# bash bfinject
Syntax: bfinject [-p PID | -P appname] [-l /path/to/yourdylib | -L feature]
For example:
bfinject -P Reddit.app -l /path/to/evil.dylib # Injects evil.dylib into the Reddit app
or
bfinject -p 1234 -L cycript # Inject Cycript into PID
or
bfinject -p 4566 -l /path/to/evil.dylib # Injects the .dylib of your choice into PID
Instead of specifying the PID with -p, bfinject can search for the correct PID based on the app name.
Just enter "-P identifier" where "identifier" is a string unique to your app, e.g. "fing.app".
Available features:
cycript - Inject and run Cycript
decrypt - Create a decrypted copy of the target app
test - Inject a simple .dylib to make an entry in the console log
ispy - Inject iSpy. Browse to http://<DEVICE_IP>:31337/
कुछ भी अधिक जटिल करने से पहले, परीक्षण करें कि यह काम करता है। bfinject में अंतर्निहित सेल्फ-टेस्ट हैं। यहाँ Reddit ऐप को लक्ष्य के रूप में उपयोग करने का एक उदाहरण है:
Cs-iPhone:~ root# bash bfinject -P Reddit -L test
[+] Electra detected.
[+] Injecting into '/var/containers/Bundle/Application/55C94FAA-A282-4FDC-967D-6A012D01087E/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 486.
[bfinject4realz] Calling thread_create() on PID 486
[bfinject4realz] Looking for ROP gadget... found at 0x1019a2ba0
[bfinject4realz] Fake stack frame at 0x12ac5c000
[bfinject4realz] Calling _pthread_set_self() at 0x182bfb814...
[bfinject4realz] Returned from '_pthread_set_self'
[bfinject4realz] Calling dlopen() at 0x1829bb460...
[bfinject4realz] Returned from 'dlopen'
[bfinject4realz] Success! Library was loaded at 0x1c016e1c0
[+] So long and thanks for all the fish.
डिवाइस स्क्रीन पर आपको यह देखना चाहिए:
यदि नहीं, तो कुछ टूटा हुआ है ;)
यहाँ Electra-जेलब्रेक किए गए iPhone पर Reddit ऐप को डिक्रिप्ट करने का उदाहरण है:
Cs-iPhone:~ root# bash bfinject -P Reddit -L decrypt
[+] 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