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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
reFlutter — Flutter engine libraries को पैच करता है जिससे Android और iOS ऐप्स में बिना रूट या प्रमाणपत्र इंस्टॉल किए runtime reverse engineering, traffic interception और SSL pinning bypass सक्षम होता है। | Kitploit
उपकरण/GitHubGitHub/impact-i/reflutter
एंड्रॉइड सुरक्षागतिशील विश्लेषण (सैंडबॉक्सिंग)आईओएस सुरक्षारिवर्स इंजीनियरिंगपेनिट्रेशन टेस्टिंगमोबाइल सुरक्षा
GitHubimpact-i/reflutter

reFlutter

Flutter engine libraries को पैच करता है जिससे Android और iOS ऐप्स में बिना रूट या प्रमाणपत्र इंस्टॉल किए runtime reverse engineering, traffic interception और SSL pinning bypass सक्षम होता है।

रिपॉजिटरी देखें
2.7k2938 दिन पहलेKitploit द्वारा समीक्षित

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

सभी देखें →

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

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

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

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

stars

ब्लॉग पर और पढ़ें: https://swarm.ptsecurity.com/fork-bomb-for-flutter/

यह फ्रेमवर्क Flutter ऐप्स के रिवर्स इंजीनियरिंग में मदद करता है, जिसमें Flutter लाइब्रेरी के पैच किए गए संस्करण का उपयोग किया जाता है जो पहले से संकलित है और ऐप रीपैकिंग के लिए तैयार है। इस लाइब्रेरी में स्नैपशॉट डिसेरिएलाइज़ेशन प्रक्रिया को संशोधित किया गया है ताकि आप सुविधाजनक तरीके से डायनेमिक विश्लेषण कर सकें।

मुख्य विशेषताएं:

  • socket.cc को ट्रैफ़िक निगरानी और अवरोधन के लिए पैच किया गया है;
  • dart.cc को कक्षाओं, फ़ंक्शंस और कुछ फ़ील्ड्स को प्रिंट करने के लिए संशोधित किया गया है;
  • फ़ंक्शंस के लिए पूर्ण कोड ऑफ़सेट प्रदर्शित करें;
  • सफल संकलन के लिए मामूली बदलाव शामिल हैं;
  • यदि आप अपने स्वयं के पैच लागू करना चाहते हैं, तो विशेष रूप से तैयार Dockerfile का उपयोग करके मैन्युअल Flutter कोड परिवर्तन समर्थित हैं।

समर्थित इंजन

  • Android: arm64, arm32;
  • iOS: arm64;
  • Release: Stable, Beta

स्थापना

root@kitploit:~
# Linux, Windows, MacOS
pip3 install reflutter==0.8.6

उपयोग

root@kitploit:~
impact@f:~$ reflutter main.apk

कृपया अपना Burp Suite IP दर्ज करें: <input_ip>

SnapshotHash: 8ee4ef7a67df9845fba331734198a953
परिणामी apk फ़ाइल: ./release.RE.apk
कृपया apk फ़ाइल पर हस्ताक्षर करें

impact@f:~$ reflutter main.ipa

ट्रैफ़िक अवरोधन

आपको अपने Burp Suite प्रॉक्सी सर्वर का IP निर्दिष्ट करना होगा जो उसी नेटवर्क में स्थित है जहाँ Flutter एप्लिकेशन वाला उपकरण है। फिर BurpSuite -> Listener Proxy -> Options tab में प्रॉक्सी कॉन्फ़िगर करें:

  • पोर्ट जोड़ें: 8083
  • पते से बाइंड करें: All interfaces
  • अनुरोध हैंडलिंग: अदृश्य प्रॉक्सिंग समर्थन = True

Android के लिए कोई प्रमाणपत्र स्थापना या रूट एक्सेस की आवश्यकता नहीं है। reFlutter कुछ Flutter प्रमाणपत्र पिनिंग कार्यान्वयन को भी बायपास करने की अनुमति देता है।

⚠️ नोट: Flutter संस्करण 3.24.0 (स्नैपशॉट हैश: 80a49c7111088100a233b2ae788e1f48) से शुरू करते हुए, हार्डकोडेड प्रॉक्सी IP और पोर्ट हटा दिए गए हैं। अब आपको अपने डिवाइस पर सीधे प्रॉक्सी कॉन्फ़िगर करने की आवश्यकता है।

एंड्रॉइड पर

डिवाइस का प्रॉक्सी कॉन्फ़िगर करने के लिए ADB का उपयोग करें:

root@kitploit:~
adb -s <device> shell "settings put global http_proxy <proxy_ip:port>"

APK पर हस्ताक्षर करें, संरेखित करें और इंस्टॉल करें। वैकल्पिक रूप से ट्रैफ़िक को Burp Suite के माध्यम से रूट करने के लिए TunProxy कॉन्फ़िगर करें।

iOS पर

IPA पर हस्ताक्षर करें और इंस्टॉल करें। अपने Burp Suite प्रॉक्सी सर्वर का उपयोग करने के लिए Potatso कॉन्फ़िगर करें।

एंड्रॉइड पर उपयोग

परिणामी apk को संरेखित और हस्ताक्षरित किया जाना चाहिए। अनुशंसित टूल uber-apk-signer है:

root@kitploit:~
java -jar uber-apk-signer.jar --allowResign -a release.RE.apk

ऐप को डिवाइस पर चलाएं। बाइनरी खोज के माध्यम से _kDartIsolateSnapshotInstructions निर्धारित करें। reFlutter डंप फ़ाइल को ऐप के रूट फ़ोल्डर में लिखता है और 777 अनुमतियाँ सेट करता है। इसे प्राप्त करने के लिए उपयोग करें:

root@kitploit:~
adb -d shell "cat /data/data/<PACKAGE_NAME>/dump.dart" > dump.dart
फ़ाइल सामग्री
root@kitploit:~
Library:'package:anyapp/navigation/DeepLinkImpl.dart' Class: Navigation extends Object {
String* DeepUrl = anyapp://evil.com/ ;
...

iOS पर उपयोग

reflutter main.ipa चलाने के बाद, ऐप को डिवाइस पर निष्पादित करें। डंप फ़ाइल पथ Xcode कंसोल लॉग में मुद्रित होता है:

root@kitploit:~
Current working dir: /private/var/mobile/Containers/Data/Application/<UUID>/dump.dart

डिवाइस से फ़ाइल प्राप्त करें।

Frida

root@kitploit:~
frida-tools==13.7.1
frida==16.7.19

Frida स्क्रिप्ट में डंप ऑफ़सेट का उपयोग करें:

root@kitploit:~
frida -U -f <package> -l frida.js

_kDartIsolateSnapshotInstructions खोजने के लिए:

root@kitploit:~
readelf -Ws libapp.so

Value फ़ील्ड देखें।

करने के लिए

  • फ़ंक्शंस के लिए पूर्ण कोड ऑफ़सेट प्रदर्शित करें;
  • अधिक स्ट्रिंग और फ़ील्ड निकालें;
  • सॉकेट पैच जोड़ें;
  • Fork और Github Actions का उपयोग करके डीबग के लिए इंजन समर्थन बढ़ाएं;
  • ज़िप आर्काइव के अंदर App.framework और libapp.so का पता लगाने में सुधार करें

इंजन बनाएं

इंजन GitHub Actions का उपयोग करके enginehash.csv में डेटा के आधार पर बनाए जाते हैं। स्नैपशॉट हैश यहाँ से प्राप्त किया जाता है:

root@kitploit:~
https://storage.googleapis.com/flutter_infra_release/flutter/<hash>/android-arm64-release/linux-x64.zip
रिलीज़

gif

कस्टम बिल्ड

Docker का उपयोग करके मैन्युअल Flutter कोड पैचिंग समर्थित है:

root@kitploit:~
git clone https://github.com/Impact-I/reFlutter && cd reFlutter
docker build -t reflutter -f Dockerfile .

इसके साथ चलाएं:

root@kitploit:~
docker run -it -v "$(pwd):/t" -e HASH_PATCH=<Snapshot_Hash> -e COMMIT=<Engine_commit> reflutter

उदाहरण:

root@kitploit:~
docker run -it -v "$(pwd):/t" -e HASH_PATCH=aa64af18e7d086041ac127cc4bc50c5e -e COMMIT=d44b5a94c976fbb65815374f61ab5392a220b084 reflutter

उदाहरण: Android ARM64 बनाएं (Linux/Windows)

root@kitploit:~
docker run -e WAIT=300 -e x64=0 -e arm=0 -e HASH_PATCH=<Snapshot_Hash> -e COMMIT=<Engine_commit> --rm -iv${PWD}:/t reflutter

फ़्लैग:

  • -e x64=0: x64 बिल्ड को अक्षम करता है
  • -e arm64=0: arm64 बिल्ड को अक्षम करता है
  • -e arm=0: arm32 बिल्ड को अक्षम करता है
  • -e WAIT=300: बिल्ड से पहले स्रोत को संशोधित करने का समय (सेकंड में)
  • -e HASH_PATCH: enginehash.csv से स्नैपशॉट हैश
  • -e COMMIT: इंजन कमिट हैश

टूल डाउनलोड करें