Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
frida-ios-dump-modern — नवीनतम Frida 17.5.2 APIs का समर्थन करने वाला एक अद्यतित Frida iOS डंप टूल | Kitploit
उपकरण/GitHubGitHub/jwalker/frida-ios-dump-modern
आईओएस सुरक्षामोबाइल ऐप पेंटेस्टिंगरिवर्स इंजीनियरिंगमालवेयर विश्लेषणमोबाइल सुरक्षाबाइनरी विश्लेषण
GitHubjwalker/frida-ios-dump-modern

frida-ios-dump-modern

नवीनतम Frida 17.5.2 APIs का समर्थन करने वाला एक अद्यतित Frida iOS डंप टूल

रिपॉजिटरी देखें
97 महीने पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

आधुनिक iOS IPA Dumper

Frida 17.5.2+ के लिए निर्मित एक आधुनिक iOS एप्लिकेशन मेमोरी डिक्रिप्शन टूल, जिसमें iOS 14-16 और कई jailbreaks के लिए पूर्ण समर्थन है।

स्थिति: ✅ कार्यशील और परीक्षित - Frida 17.5.2 का उपयोग करके iOS ऐप्स को सफलतापूर्वक डंप और डिक्रिप्ट करता है:

  • iOS 14.7.1 + Taurine jailbreak (iPad mini 5)
  • iOS 16.7.12 + palera1n jailbreak (iPhone 8)

विशेषताएँ

  • ✅ Frida 17.5.2+ के साथ संगत (NativePointer.readByteArray का उपयोग करता है)
  • ✅ Taurine jailbreak (iOS 14.7.1) के साथ काम करता है
  • ✅ palera1n jailbreak (iOS 16.7.12) के साथ काम करता है
  • ✅ palera1n के /cores/binpack/ jailbreak पथों को संभालता है
  • ✅ मेमोरी डंप + मैन्युअल cryptid पैचिंग का उपयोग करके तेज़ डिक्रिप्शन
  • ✅ कोई deprecated API कॉल नहीं
  • ✅ स्वच्छ, रखरखाव योग्य कोड
  • ✅ स्वचालित IPA पैकेजिंग
  • ✅ Python paramiko का उपयोग करता है (कोई बाहरी टूल आवश्यक नहीं)
  • ✅ विस्तृत प्रगति रिपोर्टिंग

यह टूल क्यों?

मूल frida-ios-dump (अंतिम बार 2020 में अपडेट किया गया) deprecated Frida APIs का उपयोग करता है जो Frida 17.5.2 के साथ काम नहीं करतीं। यह टूल आधुनिक Frida APIs का उपयोग करके शुरू से बनाया गया है और विशेष रूप से Taurine-संगत Frida पैच के साथ परीक्षित किया गया है।

आवश्यकताएँ

macOS/होस्ट आवश्यकताएँ

  • Python 3.8+
  • Frida 17.5.2+
  • paramiko (Python SSH लाइब्रेरी - स्वचालित रूप से इंस्टॉल होती है)
  • iproxy (libimobiledevice के माध्यम से USB कनेक्शन के लिए)

iOS डिवाइस आवश्यकताएँ

  • Jailbroken iOS डिवाइस (iOS 14.7.1 + Taurine पर परीक्षित)
  • पैच किया हुआ frida-server चालू हो (Frida पैच will add my patch repo में देखें)
  • SSH एक्सेस सक्षम हो

स्थापना

root@kitploit:~
cd /Users/username/git/frida-ios-dump-modern

# Create virtual environment with uv:
uv venv
source .venv/bin/activate

# Install dependencies
uv pip install -r requirements.txt

# Make script executable
chmod +x dump.py

USB कनेक्शन सेटअप

root@kitploit:~
# Install libimobiledevice if needed
brew install libimobiledevice

# Start USB tunnel (in a separate terminal)
iproxy 2222 22

उपयोग

1. इंस्टॉल किए गए ऐप्स सूचीबद्ध करें

root@kitploit:~
python dump.py -l

2. एप्लिकेशन डंप करें

महत्वपूर्ण: Taurine jailbreak प्रतिबंधों के कारण डंप करने से पहले ऐप चालू होना चाहिए।

root@kitploit:~
# 1. Launch the app on your device manually
# 2. Run the dumper:

python dump.py com.example.app

# With custom SSH password:
python dump.py com.example.app -P your_password

# With custom output directory:
python dump.py com.example.app -o /path/to/output

3. उदाहरण: Ventusky डंप करें

root@kitploit:~
# 1. Open Ventusky on your iOS device
# 2. Run:
python dump.py com.in-meteo.ventusky -P mypassword

यह कैसे काम करता है

iOS 16 संगत दृष्टिकोण (हाइब्रिड विधि)

  1. अटैच: Frida के माध्यम से चल रहे ऐप प्रोसेस से कनेक्ट होता है
  2. एन्यूमरेट: ऐप में लोड किए गए सभी मॉड्यूल (बाइनरीज़) की सूची बनाता है
  3. डिस्क बाइनरी पढ़ें: डिवाइस फाइल सिस्टम से मूल एन्क्रिप्टेड बाइनरी पढ़ता है
    • iOS 16 के लिए महत्वपूर्ण: LC_DYLD_CHAINED_FIXUPS डेटा को संरक्षित करता है
    • मूल DATA सेगमेंट को fixup चेन के साथ अक्षुण्ण रखता है
  4. डिक्रिप्टेड सेगमेंट पढ़ें: मेमोरी से केवल एन्क्रिप्टेड TEXT सेगमेंट पढ़ता है
    • iOS रनटाइम पर कोड डिक्रिप्ट करता है
    • हम पूरी बाइनरी नहीं, केवल डिक्रिप्टेड भाग पढ़ते हैं
  5. बदलें और पैच करें:
    • डिस्क बाइनरी में एन्क्रिप्टेड TEXT सेगमेंट को डिक्रिप्टेड मेमोरी से बदलें
    • LC_ENCRYPTION_INFO में cryptid=0 सेट करें
    • सभी DATA सेगमेंट अछूते रहते हैं (फिक्सअप संरक्षित रहते हैं)
  6. डंप करें: हाइब्रिड बाइनरी को डिवाइस पर /tmp में लिखता है
  7. डाउनलोड: paramiko के माध्यम से SCP द्वारा डिवाइस से फाइलें स्थानांतरित करता है
  8. पैकेज करें: विश्लेषण के लिए तैयार एक डिक्रिप्टेड IPA फाइल बनाता है

यह iOS 16 पर क्यों काम करता है:

  • iOS 16 chained fixups का उपयोग करता है - पॉइंटर्स "चेन" के रूप में संग्रहीत होते हैं जिन्हें dyld रनटाइम पर हल करता है
  • मेमोरी से डंप करने पर हमें हल किए गए पॉइंटर्स मिलते हैं, लेकिन टूल fixup चेन की अपेक्षा करते हैं
  • डिस्क बाइनरी पढ़कर और केवल एन्क्रिप्टेड TEXT को बदलकर, हम मूल फिक्सअप को संरक्षित करते हैं
  • यह वही दृष्टिकोण है जो bagbak और अन्य आधुनिक डंपर उपयोग करते हैं

आउटपुट

टूल निम्नलिखित बनाता है:

  • अलग-अलग डिक्रिप्टेड बाइनरीज़
  • डिक्रिप्टेड बाइनरीज़ के साथ पूर्ण ऐप बंडल
  • विश्लेषण के लिए तैयार पैकेज्ड IPA फाइल

उदाहरण आउटपुट संरचना:

root@kitploit:~
/tmp/Ventusky_decrypted/
├── Payload/
│   └── Ventusky.app/
│       ├── Ventusky (decrypted main binary)
│       ├── Frameworks/
│       │   └── *.framework (decrypted frameworks)
│       └── ... (other app resources)
└── Ventusky_decrypted.ipa

Taurine Jailbreak संगतता

यह टूल Taurine-पैच किए गए Frida सर्वर के साथ काम करने के लिए डिज़ाइन किया गया है, जिसमें शामिल हैं:

  1. iOS 14 पर कोई थ्रेड सस्पेंशन नहीं: कर्नेल पैनिक रोकता है
  2. कोई launchd इंजेक्शन नहीं: Taurine प्रतिबंधों का सम्मान करता है
  3. मैन्युअल ऐप लॉन्च आवश्यक: डंप करने से पहले ऐप्स को मैन्युअल रूप से लॉन्च किया जाना चाहिए

समस्या निवारण

"कोई USB डिवाइस नहीं मिला"

root@kitploit:~
# Check frida-server is running on device:
ssh -p 2222 root@localhost "ps aux | grep frida-server"

# Restart frida-server if needed:
ssh -p 2222 root@localhost "killall frida-server; frida-server &"

"ऐप नहीं मिला"

root@kitploit:~
# List apps to find correct bundle ID:
python dump.py -l

"ऐप नहीं चल रहा है"

root@kitploit:~
# Launch the app manually on your device first
# This is required due to Taurine jailbreak restrictions

SSH प्रमाणीकरण विफल

root@kitploit:~
# Test SSH connection:
ssh -p 2222 root@localhost

# If password prompt works, use -P flag:
python dump.py com.example.app -P your_password

iOS 16: Hopper में "Objective-C Metadata looks mangled"

यदि पैचिंग के बाद iOS 16 पर मेटाडेटा त्रुटियाँ मिल रही हैं:

समस्या का निदान करें:

root@kitploit:~
# Run diagnostic on dumped binary
./diagnose_ios16.sh /tmp/AppName_decrypted/Payload/AppName.app/AppName

# Compare with working iOS 14 binary
./diagnose_ios16.sh /path/to/working/ios14/binary

जाँचने योग्य मुख्य बातें:

  1. फाइल का आकार डिस्क पर मूल बाइनरी से मेल खाता है
  2. LC_DYLD_CHAINED_FIXUPS देखें (iOS 16 विशिष्ट)
  3. पैचिंग के बाद सत्यापित करें कि cryptid 0 है

टूल अब रनटाइम-विस्तारित मेमोरी क्षेत्रों को डंप करने से बचने के लिए डिस्क से मूल फाइल आकार पढ़ता है।

डंप के बाद: सत्यापन

अच्छी खबर: टूल अब डंपिंग के दौरान स्वचालित रूप से cryptid=0 सेट करता है, इसलिए मैन्युअल पैचिंग की अब आवश्यकता नहीं है!

iOS 16 संगतता: टूल एक हाइब्रिड दृष्टिकोण का उपयोग करता है:

  1. डिस्क से मूल बाइनरी पढ़ता है (chained fixups संरक्षित करता है)
  2. केवल एन्क्रिप्टेड TEXT सेगमेंट को डिक्रिप्टेड मेमोरी से बदलता है
  3. स्वचालित रूप से cryptid=0 सेट करता है
  4. सभी DATA सेगमेंट को मूल fixup चेन के साथ अक्षुण्ण रखता है

यह iOS 16 पर "Is this a file manually extracted from the DYLD shared cache?" और "Objective-C Metadata looks mangled" त्रुटियों को रोकता है।

डंप को सत्यापित करें:

root@kitploit:~
# Check that cryptid is 0 (should be automatic now)
otool -l Payload/App.app/App | grep cryptid
# Should show: cryptid 0

# Check file has all segments
otool -l Payload/App.app/App | grep "segname __"
# Should show: __TEXT, __DATA_CONST, __DATA, __LINKEDIT

# Open in Hopper - should work without warnings!

मैन्युअल पैचिंग (लेगेसी - अब आवश्यक नहीं):

यदि किसी कारण से स्वचालित cryptid पैचिंग काम नहीं कर पाई:

root@kitploit:~
# Check if patching needed
otool -l Payload/App.app/App | grep cryptid
# If shows cryptid 1, run:

python patch_cryptid.py Payload/App.app/App
mv Payload/App.app/App.patched Payload/App.app/App

अपेक्षित परिणाम:

  • ✅ Hopper "ciphered" या "mangled metadata" चेतावनियों के बिना खुलता है
  • ✅ सभी Objective-C क्लासेस और मेथड्स दृश्यमान हैं
  • ✅ प्रोसीजर नाम सही ढंग से हल किए गए हैं (sub_XXXXX नहीं)
  • ✅ iOS 14 (Taurine) और iOS 16 (palera1n) दोनों पर काम करता है

तकनीकी विवरण - iOS 16 Chained Fixups:

  • समस्या: iOS 16 पॉइंटर प्रमाणीकरण के लिए LC_DYLD_CHAINED_FIXUPS का उपयोग करता है
  • मुद्दा: मेमोरी से डंप करने पर हल किए गए पॉइंटर्स मिलते हैं, fixup चेन नहीं
  • समाधान: हाइब्रिड दृष्टिकोण
    1. डिस्क से मूल एन्क्रिप्टेड बाइनरी पढ़ें (इसमें fixup चेन होती हैं)
    2. मेमोरी से केवल डिक्रिप्टेड TEXT सेगमेंट पढ़ें
    3. डिस्क बाइनरी में एन्क्रिप्टेड TEXT को डिक्रिप्टेड मेमोरी से बदलें
    4. डिस्क से DATA सेगमेंट संरक्षित रखें (fixup चेन अक्षुण्ण)
    5. स्वचालित रूप से cryptid=0 सेट करें
  • परिणाम: बाइनरी में डिक्रिप्टेड कोड + मूल fixup चेन = Hopper खुश!

पुराने frida-ios-dump से API अंतर

यह टूल आधुनिक Frida 17.5.2 APIs का उपयोग करता है:

समर्थन

यदि आपको यह टूल उपयोगी लगता है या आगे के अपडेट चाहिएँ, तो परियोजना का समर्थन करने पर विचार करें — Boba को ज़रूरत है:

☕ मुझे Boba खरीदकर दें

लाइसेंस

MIT लाइसेंस - सुरक्षा अनुसंधान और शैक्षिक उद्देश्यों के लिए निःशुल्क।

श्रेय

  • Taurine-पैच किए गए Frida के साथ उपयोग हेतु निर्मित (केस स्टडी जल्द आ रही है)
  • AloneMonkey के मूल frida-ios-dump से प्रेरित
  • Frida 17.5.2+ के लिए आधुनिक API कार्यान्वयन

सुरक्षा नोट

यह टूल निम्नलिखित के लिए अभिप्रेत है:

  • सुरक्षा अनुसंधान
  • CTF चुनौतियाँ
  • शैक्षिक उद्देश्य
  • ???
  • लाभ
टूल डाउनलोड करें
पुराना API (Deprecated)नया API (आधुनिक)टिप्पणियाँ
Module.ensureInitialized()आवश्यक नहींObjC स्वतः इनिशियलाइज़्ड
Module.findExportByName(null, 'name')Module.findGlobalExportByName('name')ग्लोबल एक्सपोर्ट्स
Process.getModuleByName()Process.findModuleByName()नहीं मिलने पर null लौटाता है
मैन्युअल POSIX फाइल I/Onew File(path, 'wb')बिल्ट-इन File API
Memory.writeByteArray()file.write(arrayBuffer)प्रत्यक्ष बाइनरी राइट