Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
reFlutter — Patches Flutter-Engine-Bibliotheken, um Laufzeit-Reverse-Engineering, Verkehrsabfang und Umgehung von SSL-Pinning für Android- und iOS-Apps ohne Root oder Zertifikatsinstallation zu ermöglichen. | Kitploit
Tools/GitHubGitHub/impact-i/reflutter
Android-SicherheitDynamische Analyse (Sandboxing)iOS-SicherheitReverse EngineeringPenetrationstestsMobile Sicherheit
GitHubimpact-i/reflutter

reFlutter

Patches Flutter-Engine-Bibliotheken, um Laufzeit-Reverse-Engineering, Verkehrsabfang und Umgehung von SSL-Pinning für Android- und iOS-Apps ohne Root oder Zertifikatsinstallation zu ermöglichen.

Repository anzeigen
2.7k29329vor 6 TagenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

stars

Mehr dazu im Blog: https://swarm.ptsecurity.com/fork-bomb-for-flutter/

Dieses Framework unterstützt beim Reverse Engineering von Flutter-Apps mithilfe der gepatchten Version der Flutter-Bibliothek, die bereits kompiliert und für das Repackaging von Apps vorbereitet ist. Diese Bibliothek hat einen modifizierten Snapshot-Deserialisierungsprozess, der es ermöglicht, dynamische Analysen auf bequeme Weise durchzuführen.

Hauptmerkmale:

  • socket.cc ist für Traffic-Monitoring und -Interception gepatcht;
  • dart.cc ist modifiziert, um Klassen, Funktionen und einige Felder auszugeben;
  • Anzeige des absoluten Code-Offsets für Funktionen;
  • enthält kleinere Änderungen für eine erfolgreiche Kompilierung;
  • wenn Sie eigene Patches implementieren möchten, werden manuelle Flutter-Code-Änderungen mithilfe eines speziell erstellten Dockerfile unterstützt.

Unterstützte Engines

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

Installation

# Linux, Windows, MacOS
pip3 install reflutter==0.8.6

Verwendung

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

impact@f:~$ reflutter main.ipa

Optionen:

  • -p, --patch-dump — Dump-Modus: patcht die Engine, um beim Start dump.dart (Klassen/Methoden/Offsets) auszugeben, und zeigt einen frida.js-Hinweis anstelle der Proxy-Anweisungen an.
  • -n, --no-interact — fragt nie nach einer Burp-IP (impliziert 127.0.0.1); nützlich für alte Engines in CI.
  • -b <Snapshot_Hash>, --build-engine — Engine-Build-Modus: gibt den Engine-Commit für einen Snapshot-Hash aus und (bei Ausführung innerhalb eines flutter/flutter-Checkouts) wendet die reFlutter-Quellpatches an. Siehe scripts/local-release.

Traffic-Interception

Sie müssen die IP Ihres Burp Suite Proxy Servers angeben, der sich im selben Netzwerk befindet wie das Gerät mit der Flutter-Anwendung. Konfigurieren Sie dann den Proxy in BurpSuite -> Listener Proxy -> Options tab:

  • Port hinzufügen: 8083
  • Binden an Adresse: All interfaces
  • Request-Handling: Invisible Proxying unterstützen = True

Für Android ist weder eine Zertifikatsinstallation noch Root-Zugriff erforderlich. reFlutter ermöglicht auch die Umgehung einiger Flutter-Zertifikats-Pinning-Implementierungen.

⚠️ Hinweis: Engines bis einschließlich Flutter 3.24.x (Snapshot-Hash 80a49c7111088100a233b2ae788e1f48) enthalten weiterhin die hartcodierte Proxy-IP und werden direkt gepatcht. Ab 3.27.x ist die hartcodierte IP entfernt — konfigurieren Sie den Proxy stattdessen direkt auf dem Gerät.

Auf Android

Verwenden Sie ADB, um den Proxy des Geräts zu konfigurieren:

adb -s <device> shell "settings put global http_proxy <proxy_ip:port>"

Signieren, alignen und installieren Sie die APK. Konfigurieren Sie optional TunProxy, um den Traffic durch Burp Suite zu leiten.

Auf iOS

Signieren und installieren Sie die IPA. Konfigurieren Sie Potatso, um Ihren Burp Suite Proxy Server zu verwenden.

Verwendung auf Android

Die resultierende APK muss aligned und signiert werden. Ein empfohlenes Tool ist uber-apk-signer:

java -jar uber-apk-signer.jar --allowResign -a release.RE.apk

Führen Sie die App auf einem Gerät aus. Bestimmen Sie _kDartIsolateSnapshotInstructions per Binärsuche. reFlutter schreibt die Dump-Datei in den Root-Ordner der App und setzt 777-Berechtigungen. Rufen Sie sie ab mit:

adb -d shell "cat /data/data/<PACKAGE_NAME>/dump.dart" > dump.dart
Dateiinhalt
Library:'package:anyapp/navigation/DeepLinkImpl.dart' Class: Navigation extends Object {
String* DeepUrl = anyapp://evil.com/ ;
...

Verwendung auf iOS

Nach dem Ausführen von reflutter main.ipa führen Sie die App auf dem Gerät aus. Der Pfad der Dump-Datei wird in den Xcode-Konsolenprotokollen ausgegeben:

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

Rufen Sie die Datei vom Gerät ab.

Frida

frida-tools==13.7.1
frida==16.7.19

Verwenden Sie Dump-Offsets im Frida-Skript:

frida -U -f <package> -l frida.js

Um _kDartIsolateSnapshotInstructions zu finden:

readelf -Ws libapp.so

Suchen Sie nach dem Value-Feld.

To Do

  • Absoluten Code-Offset für Funktionen anzeigen;
  • Mehr Strings und Felder extrahieren;
  • Socket-Patch hinzufügen;
  • Engine-Unterstützung auf Debug erweitern mithilfe von Fork und Github Actions;
  • Erkennung von App.framework und libapp.so im Zip-Archiv verbessern

Engine bauen

Engines werden mit scripts/local-release (macOS; baut v2 + v3 für iOS und Android arm64/arm/x64, verifiziert, dass jeder Patch angewendet wurde, und lädt die Release-Assets hoch) basierend auf Daten in enginehash.csv gebaut. Der Engine-Commit für einen Snapshot-Hash wird über reflutter -b <Snapshot_Hash> aufgelöst. Der Snapshot-Hash wird abgerufen von:

https://storage.googleapis.com/flutter_infra_release/flutter/<hash>/android-arm64-release/linux-x64.zip
Release

gif

Benutzerdefinierter Build

Manuelles Patchen des Flutter-Codes wird mithilfe von Docker unterstützt:

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

Ausführen mit:

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

Beispiel:

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

Beispiel: Android ARM64 bauen (Linux/Windows)

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

Flags:

  • -e x64=0: deaktiviert den x64-Build
  • -e arm64=0: deaktiviert den arm64-Build
  • -e arm=0: deaktiviert den arm32-Build
  • -e WAIT=300: Zeit in Sekunden zum Ändern des Quellcodes vor dem Build
  • -e HASH_PATCH: Snapshot-Hash aus enginehash.csv
  • -e COMMIT: Engine-Commit-Hash

Tool herunterladen