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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
reFlutter — Flutter रिवर्स इंजीनियरिंग फ्रेमवर्क | Kitploit
उपकरण/GitHubGitHub/ptswarm/reflutter
एंड्रॉइड सुरक्षापैकेट स्निफिंग और विश्लेषणगतिशील विश्लेषण (सैंडबॉक्सिंग)आईओएस सुरक्षारिवर्स इंजीनियरिंगमोबाइल सुरक्षाबाइनरी विश्लेषणArchived
GitHubptswarm/reflutter

reFlutter

Flutter रिवर्स इंजीनियरिंग फ्रेमवर्क

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

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

सभी देखें →

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

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

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

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

Twitter

stars workflow

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

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

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

समर्थित इंजन

  • Android: arm64, arm32;
  • iOS: arm64;
  • रिलीज़: Stable, Beta

इंस्टॉल

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

उपयोग

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

Please enter your Burp Suite IP: <input_ip>

SnapshotHash: 8ee4ef7a67df9845fba331734198a953
The resulting apk file: ./release.RE.apk
Please sign the apk file

Configure Burp Suite proxy server to listen on *:8083
Proxy Tab -> Options -> Proxy Listeners -> Edit -> Binding Tab

Then enable invisible proxying in Request Handling Tab
Support Invisible Proxying -> true

impact@f:~$ reflutter main.ipa

ट्रैफिक इंटरसेप्शन

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

  • पोर्ट जोड़ें: 8083
  • पते से बाइंड करें: All interfaces
  • अनुरोध हैंडलिंग: Support invisible proxying = True

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

Android पर उपयोग

परिणामी apk को संरेखित और हस्ताक्षरित किया जाना चाहिए। मैं uber-apk-signer का उपयोग करता हूँ java -jar uber-apk-signer.jar --allowResign -a release.RE.apk. यह देखने के लिए कि DartVM के माध्यम से कौन सा कोड लोड किया गया है, आपको डिवाइस पर एप्लिकेशन चलाना होगा। ध्यान दें कि आपको बाइनरी सर्च का उपयोग करके मैन्युअल रूप से यह पता लगाना होगा कि _kDartIsolateSnapshotInstructions (जैसे 0xB000) किसके बराबर है। reFlutter डंप को एप्लिकेशन के रूट फोल्डर में लिखता है और फ़ाइल और फ़ोल्डर को 777 अनुमतियाँ सेट करता है। आप adb कमांड से फ़ाइल प्राप्त कर सकते हैं

root@kitploit:~
impact@f:~$ 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/ ;

 Function 'Navigation.': constructor. (dynamic, dynamic, dynamic, dynamic) => NavigationInteractor { 
  
              Code Offset: _kDartIsolateSnapshotInstructions + 0x0000000000009270
  
                   }
    
 Function 'initDeepLinkHandle':. (dynamic) => Future<void>* { 
  
              Code Offset: _kDartIsolateSnapshotInstructions + 0x0000000000412fe8
  
                   }
    
 Function '_navigateDeepLink@547106886':. (dynamic, dynamic, {dynamic navigator}) => void { 
  
              Code Offset: _kDartIsolateSnapshotInstructions + 0x0000000000002638
  
                   }
 
       }
 
Library:'package:anyapp/auth/navigation/AuthAccount.dart' Class: AuthAccount extends Account {

PlainNotificationToken* _instance = sentinel;
 
 Function 'getAuthToken':. (dynamic, dynamic, dynamic, dynamic) => Future<AccessToken*>* { 
  
               Code Offset: _kDartIsolateSnapshotInstructions + 0x00000000003ee548
  
                   }
  
 Function 'checkEmail':. (dynamic, dynamic) => Future<bool*>* { 
  
               Code Offset: _kDartIsolateSnapshotInstructions + 0x0000000000448a08
   
                   }

 Function 'validateRestoreCode':. (dynamic, dynamic, dynamic) => Future<bool*>* { 
  
               Code Offset: _kDartIsolateSnapshotInstructions + 0x0000000000412c34
   
                   }

 Function 'sendSmsRestorePassword':. (dynamic, dynamic) => Future<bool*>* { 
  
               Code Offset: _kDartIsolateSnapshotInstructions + 0x00000000003efb88
  
                   }
       }

iOS पर उपयोग

reflutter main.ipa कमांड के निष्पादन के बाद बनाई गई IPA फ़ाइल का उपयोग करें। यह देखने के लिए कि DartVM के माध्यम से कौन सा कोड लोड किया गया है, आपको डिवाइस पर एप्लिकेशन चलाना होगा। reFlutter XCode में कंसोल लॉग में reflutter टैग के साथ अपना आउटपुट प्रिंट करता है।

करने के लिए

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

इंजन बनाएँ

इंजन reFlutter का उपयोग करके Github Actions में बनाए जाते हैं। वांछित संस्करण बनाने के लिए, इस तालिका से कमिट और स्नैपशॉट हैश का उपयोग किया जाता है। स्नैपशॉट का हैश storage.googleapis.com/flutter_infra_release/flutter/<hash>/android-arm64-release/linux-x64.zip से निकाला जाता है।

release

gif

कस्टम बिल्ड

यदि आप अपने स्वयं के पैच लागू करना चाहते हैं, तो विशेष रूप से तैयार Docker का उपयोग करके मैनुअल फ्लटर कोड परिवर्तन समर्थित है।

sudo docker pull ptswarm/reflutter

root@kitploit:~
# Linux, Windows
EXAMPLE BUILD ANDROID ARM64:
    sudo docker run -e WAIT=300 -e x64=0 -e arm=0 -e HASH_PATCH=<Snapshot_Hash> -e COMMIT=<Engine_commit> --rm -iv${PWD}:/t ptswarm/reflutter

FLAGS:
    -e x64=0                         <x64 आर्किटेक्चर के लिए बिल्ड अक्षम करता है, बिल्ड समय कम करने के लिए उपयोग करें>
    -e arm=0                         <arm आर्किटेक्चर के लिए बिल्ड अक्षम करता है, बिल्ड समय कम करने के लिए उपयोग करें>
    -e WAIT=300                      <आपको स्रोत कोड संपादित करने के लिए आवश्यक समय सेकंड में>
    -e HASH_PATCH=[Snapshot_Hash]    <यहां आपको स्नैपशॉट हैश निर्दिष्ट करना होगा जो enginehash.csv तालिका की engine_commit लाइन से सबसे अच्छा मेल खाता हो। इसका उपयोग reFlutter में उचित पैच खोजने और सफल संकलन के लिए किया जाता है>
    -e COMMIT=[Engine_commit]        <यहां आप अपने इंजन संस्करण के लिए कमिट निर्दिष्ट करते हैं, इसे enginehash.csv तालिका या flutter/engine रिपॉजिटरी से लें>
टूल डाउनलोड करें