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
reFlutter — Patche les bibliothèques du moteur Flutter pour permettre l'ingénierie inverse en temps réel, l'interception du trafic, et le contournement de l'épinglage SSL pour les applications Android et iOS sans nécessiter de root ni d'installation de certificat. | Kitploit
Outils/GitHubGitHub/impact-i/reflutter
Sécurité AndroidAnalyse Dynamique (Sandboxing)Sécurité iOSRétro-ingénierieTests d'IntrusionSécurité Mobile
GitHubimpact-i/reflutter

reFlutter

Patche les bibliothèques du moteur Flutter pour permettre l'ingénierie inverse en temps réel, l'interception du trafic, et le contournement de l'épinglage SSL pour les applications Android et iOS sans nécessiter de root ni d'installation de certificat.

Voir le dépôt
2.7k293il y a 8 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

stars

Lire plus sur le blog : https://swarm.ptsecurity.com/fork-bomb-for-flutter/

Ce framework facilite la rétro-ingénierie des applications Flutter en utilisant une version patchée de la bibliothèque Flutter, déjà compilée et prête pour le repackaging d’applications. Cette bibliothèque modifie le processus de désérialisation des snapshots pour vous permettre d’effectuer une analyse dynamique de manière pratique.

Fonctionnalités clés :

  • socket.cc est patché pour la surveillance et l’interception du trafic ;
  • dart.cc est modifié pour afficher les classes, les fonctions et certains champs ;
  • affichage du décalage absolu du code pour les fonctions ;
  • modifications mineures pour une compilation réussie ;
  • si vous souhaitez implémenter vos propres correctifs, les modifications manuelles du code Flutter sont prises en charge via un Dockerfile spécialement conçu.

Moteurs pris en charge

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

Installation

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

Utilisation

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

Veuillez saisir l'IP de votre Burp Suite : <input_ip>

SnapshotHash : 8ee4ef7a67df9845fba331734198a953
Le fichier APK résultant : ./release.RE.apk
Veuillez signer le fichier APK

impact@f:~$ reflutter main.ipa

Interception du trafic

Vous devez spécifier l’IP de votre serveur proxy Burp Suite situé dans le même réseau que l’appareil exécutant l’application Flutter. Configurez ensuite le proxy dans BurpSuite -> Listener Proxy -> Options tab :

  • Ajoutez le port : 8083
  • Lier à l’adresse : All interfaces
  • Gestion des requêtes : Support du proxy invisible = True

Aucune installation de certificat ni accès root n’est nécessaire pour Android. reFlutter permet également de contourner certaines implémentations d’ancrage de certificat (certificate pinning) de Flutter.

⚠️ Note : À partir de Flutter version 3.24.0 (hash de snapshot : 80a49c7111088100a233b2ae788e1f48), l’IP et le port du proxy codés en dur ont été supprimés. Vous devez maintenant configurer votre proxy directement sur l’appareil.

Sur Android

Utilisez ADB pour configurer le proxy de l’appareil :

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

Signez, alignez et installez l’APK. Vous pouvez éventuellement configurer TunProxy pour router le trafic via Burp Suite.

Sur iOS

Signez et installez l’IPA. Configurez Potatso pour utiliser votre serveur proxy Burp Suite.

Utilisation sur Android

L’APK résultant doit être aligné et signé. L’outil recommandé est uber-apk-signer :

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

Exécutez l’application sur un appareil. Déterminez _kDartIsolateSnapshotInstructions par recherche binaire. reFlutter écrit le fichier dump dans le dossier racine de l’application et définit les droits 777. Récupérez-le avec :

root@kitploit:~
adb -d shell "cat /data/data/<NOM_DU_PAQUET>/dump.dart" > dump.dart
contenu du fichier
root@kitploit:~
Library:'package:anyapp/navigation/DeepLinkImpl.dart' Class: Navigation extends Object {
String* DeepUrl = anyapp://evil.com/ ;
...

Utilisation sur iOS

Après avoir exécuté reflutter main.ipa, lancez l’application sur l’appareil. Le chemin du fichier dump est affiché dans les logs de la console Xcode :

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

Récupérez le fichier depuis l’appareil.

Frida

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

Utilisez les décalages de dump dans le script Frida :

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

Pour trouver _kDartIsolateSnapshotInstructions :

root@kitploit:~
readelf -Ws libapp.so

Cherchez le champ Value.

À faire

  • Afficher le décalage absolu du code pour les fonctions ;
  • Extraire plus de chaînes et de champs ;
  • Ajouter un correctif socket ;
  • Étendre le support du moteur au mode Debug en utilisant Fork et Github Actions ;
  • Améliorer la détection de App.framework et libapp.so dans l’archive zip

Construire le moteur

Les moteurs sont construits via GitHub Actions en se basant sur les données de enginehash.csv. Le hash du snapshot est récupéré depuis :

root@kitploit:~
https://storage.googleapis.com/flutter_infra_release/flutter/<hash>/android-arm64-release/linux-x64.zip
release

gif

Construction personnalisée

Le patching manuel du code Flutter est pris en charge via Docker :

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

Exécutez avec :

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

Exemple :

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

Exemple : Construire 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

Drapeaux :

  • -e x64=0 : désactive la construction x64
  • -e arm64=0 : désactive la construction arm64
  • -e arm=0 : désactive la construction arm32
  • -e WAIT=300 : temps en secondes pour modifier la source avant la construction
  • -e HASH_PATCH : hash du snapshot depuis enginehash.csv
  • -e COMMIT : hash du commit du moteur

Télécharger l’outil