Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
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
blutter — Reverse-Engineering-Tool für Flutter-Mobile-Anwendungen | Kitploit
Tools/GitHubGitHub/worawit/blutter
Android-SicherheitReverse EngineeringMobile SicherheitBinäranalyse
GitHubworawit/blutter

blutter

Reverse-Engineering-Tool für Flutter-Mobile-Anwendungen

Repository anzeigen
2.6k359vor 2 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

B(l)utter

Flutter Mobile Application Reverse Engineering Tool durch Kompilieren der Dart AOT Runtime

Derzeit unterstützt die Anwendung nur Android libapp.so (nur arm64). Außerdem funktioniert die Anwendung derzeit nur mit neueren Dart-Versionen.

Für fehlende Funktionen mit hoher Priorität siehe TODO

Umgebungseinrichtung

Diese Anwendung verwendet die C++20-Formatierungsbibliothek. Sie benötigt einen sehr aktuellen C++-Compiler wie g++>=13, Clang>=16.

Ich empfehle die Verwendung von Linux OS (nur auf Debian sid/trixie getestet), da die Einrichtung einfach ist.

Debian Unstable (gcc 13)

HINWEIS: Verwenden Sie NUR eine Debian/Ubuntu-Version, die gcc>=13 aus dem eigenen Haupt-Repository bereitstellt. Die Verwendung eines portierten gcc auf einer alten Debian/Ubuntu-Version funktioniert nicht.

  • Installieren Sie Build-Tools und Abhängigkeiten
root@kitploit:~
apt install python3-pyelftools python3-requests git cmake ninja-build \
    build-essential pkg-config libicu-dev libcapstone-dev

Windows

  • Installieren Sie git und Python 3
  • Installieren Sie die neueste Visual Studio mit "Desktopentwicklung mit C++" und "C++-CMake-Tools"
  • Installieren Sie die erforderlichen Bibliotheken (libcapstone und libicu4c)
root@kitploit:~
python scripts\init_env_win.py
  • Starten Sie die "x64 Native Tools Command Prompt"

macOS Sequoia

  • Installieren Sie XCode
  • Installieren Sie die erforderlichen Tools
root@kitploit:~
brew install cmake ninja pkg-config icu4c capstone
pip3 install pyelftools requests

macOS Ventura und Sonoma (clang 16)

  • Installieren Sie XCode
  • Installieren Sie clang 16 und die erforderlichen Tools
root@kitploit:~
brew install llvm@16 cmake ninja pkg-config icu4c capstone
pip3 install pyelftools requests

Verwendung

Extrahieren Sie das "lib"-Verzeichnis aus der APK-Datei

root@kitploit:~
python3 blutter.py path/to/app/lib/arm64-v8a out_dir

Die blutter.py erkennt automatisch die Dart-Version aus der Flutter-Engine und ruft die ausführbare Datei von Blutter auf, um die Informationen aus libapp.so zu erhalten.

Wenn die ausführbare Datei von Blutter für die erforderliche Dart-Version nicht vorhanden ist, checkt das Skript automatisch den Dart-Quellcode aus und kompiliert ihn.

Update

Sie können git pull verwenden, um zu aktualisieren, und blutter.py mit der Option --rebuild ausführen, um die ausführbare Datei neu zu erstellen

root@kitploit:~
python3 blutter.py path/to/app/lib/arm64-v8a out_dir --rebuild

Ausgabedateien

  • asm/* libapp-Assemblys mit Symbolen
  • blutter_frida.js die Frida-Skriptvorlage für die Zielanwendung
  • objs.txt kompletter (verschachtelter) Dump von Objekten aus dem Object Pool
  • pp.txt alle Dart-Objekte im Object Pool

Verzeichnisse

  • bin enthält Blutter-Ausführbare für jede Dart-Version im Format "blutter_dartvm__"
  • blutter enthält den Quellcode. Muss gegen die Dart VM-Bibliothek gebaut werden.
  • build enthält Build-Projekte, die nach Abschluss des Build-Vorgangs gelöscht werden können
  • dartsdk enthält den Checkout der Dart Runtime, der nach Abschluss des Build-Vorgangs gelöscht werden kann
  • external enthält Drittanbieter-Bibliotheken (nur Windows)
  • packages enthält die statischen Bibliotheken der Dart Runtime
  • scripts enthält Python-Skripte zum Abrufen/Erstellen von Dart

Generieren der Visual Studio-Projektmappe für die Entwicklung

Ich verwende Visual Studio, um Blutter unter Windows zu entwickeln. Die Option --vs-sln kann verwendet werden, um eine Visual Studio-Projektmappe zu generieren.

root@kitploit:~
python blutter.py path\to\lib\arm64-v8a build\vs --vs-sln

TODO

  • Mehr Code-Analyse
    • Funktionsargumente und Rückgabetyp
    • Einige Pseudocode für Codemuster
  • Bessere Frida-Skripte generieren
    • Weitere interne Klassen
    • Objektmodifikation
  • Verschleierte App (fehlen noch viele Funktionen)
  • Lesen von iOS-Binärdateien
  • Eingabe als APK oder IPA
Tool herunterladen