Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
blutter — Outil de rétro-ingénierie d'applications mobiles Flutter | Kitploit
Outils/GitHubGitHub/worawit/blutter
Sécurité AndroidRétro-ingénierieSécurité MobileAnalyse de Binaires
GitHubworawit/blutter

blutter

Outil de rétro-ingénierie d'applications mobiles Flutter

Voir le dépôt
2.6k359il y a 3 joursVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

B(l)utter

Outil de rétro-ingénierie d'applications mobiles Flutter en compilant le runtime Dart AOT

Actuellement, l'application ne prend en charge que le fichier libapp.so d'Android (arm64 uniquement). De plus, l'application ne fonctionne actuellement qu'avec des versions récentes de Dart.

Pour les fonctionnalités manquantes prioritaires, voir TODO

Configuration de l'environnement

Cette application utilise la bibliothèque de formatage C++20. Elle nécessite un compilateur C++ très récent tel que g++>=13, Clang>=16.

Je recommande d'utiliser un système d'exploitation Linux (testé uniquement sur Debian sid/trixie) car il est facile à configurer.

Debian Unstable (gcc 13)

REMARQUE: Utilisez UNIQUEMENT une version Debian/Ubuntu qui fournit gcc>=13 depuis son propre dépôt principal. L'utilisation d'un gcc porté sur une ancienne version Debian/Ubuntu ne fonctionne pas.

  • Installer les outils de construction et les dépendances
root@kitploit:~
apt install python3-pyelftools python3-requests git cmake ninja-build \
    build-essential pkg-config libicu-dev libcapstone-dev

Windows

  • Installer git et python 3
  • Installer la dernière version de Visual Studio avec « Développement Desktop en C++ » et « Outils CMake C++ »
  • Installer les bibliothèques requises (libcapstone et libicu4c)
root@kitploit:~
python scripts\init_env_win.py
  • Lancer « Invite de commandes Native Tools x64 »

macOS Sequoia

  • Installer XCode
  • Installer les outils requis
root@kitploit:~
brew install cmake ninja pkg-config icu4c capstone
pip3 install pyelftools requests

macOS Ventura et Sonoma (clang 16)

  • Installer XCode
  • Installer clang 16 et les outils requis
root@kitploit:~
brew install llvm@16 cmake ninja pkg-config icu4c capstone
pip3 install pyelftools requests

Utilisation

Extraire le répertoire « lib » du fichier apk

root@kitploit:~
python3 blutter.py chemin/vers/app/lib/arm64-v8a répertoire_sortie

Le script blutter.py détectera automatiquement la version de Dart depuis le moteur Flutter et appellera l'exécutable de blutter pour obtenir les informations de libapp.so.

Si l'exécutable blutter pour la version Dart requise n'existe pas, le script extraira automatiquement le code source de Dart et le compilera.

Mise à jour

Vous pouvez utiliser git pull pour mettre à jour et exécuter blutter.py avec l'option --rebuild pour forcer la reconstruction de l'exécutable

root@kitploit:~
python3 blutter.py chemin/vers/app/lib/arm64-v8a répertoire_sortie --rebuild

Fichiers de sortie

  • asm/* assemblages libapp avec symboles
  • blutter_frida.js le modèle de script frida pour l'application cible
  • objs.txt vidage complet (imbriqué) des objets du pool d'objets
  • pp.txt tous les objets Dart dans le pool d'objets

Répertoires

  • bin contient les exécutables blutter pour chaque version de Dart au format « blutter_dartvm<ver>_<os>_<arch> »
  • blutter contient le code source. nécessite une compilation contre la bibliothèque Dart VM
  • build contient les projets de compilation qui peuvent être supprimés après la fin du processus de construction
  • dartsdk contient l'extraction du runtime Dart qui peut être supprimée après la fin du processus de construction
  • external contient des bibliothèques tierces uniquement pour Windows
  • packages contient les bibliothèques statiques du runtime Dart
  • scripts contient des scripts python pour obtenir/construire Dart

Génération d'une solution Visual Studio pour le développement

J'utilise Visual Studio pour développer Blutter sur Windows. L'option --vs-sln peut être utilisée pour générer une solution Visual Studio.

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

TODO

  • Analyse de code supplémentaire
    • Arguments de fonction et type de retour
    • Du pseudo-code pour les motifs de code
  • Générer un meilleur script Frida
    • Plus de classes internes
    • Modification d'objets
  • Application obfusquée (beaucoup de fonctions manquent encore)
  • Lecture des binaires iOS
  • Entrée sous forme d'apk ou d'ipa
Télécharger l’outil