Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
reFlutter — 修补 Flutter 引擎库,实现对 Android 和 iOS 应用的运行时逆向工程、流量拦截及 SSL 证书固定绕过,无需 root 或安装证书。 | Kitploit
工具/GitHubGitHub/impact-i/reflutter
Android安全动态分析 (沙盒)iOS安全逆向工程渗透测试移动安全
GitHubimpact-i/reflutter

reFlutter

修补 Flutter 引擎库,实现对 Android 和 iOS 应用的运行时逆向工程、流量拦截及 SSL 证书固定绕过,无需 root 或安装证书。

查看仓库
2.7k293928天前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

stars

在博客上阅读更多内容: https://swarm.ptsecurity.com/fork-bomb-for-flutter/

该框架通过使用已编译好并可用于应用重新打包的 Flutter 库补丁版本,帮助进行 Flutter 应用逆向工程。该库修改了快照反序列化过程,使您能够以方便的方式执行动态分析。

主要特性:

  • socket.cc 已被修补,用于流量监控和拦截;
  • dart.cc 已被修改,用于打印类、函数和一些字段;
  • 显示函数的绝对代码偏移量;
  • 包含微小改动以确保成功编译;
  • 如果您想实现自己的补丁,支持使用特制的 Dockerfile 进行手动 Flutter 代码更改。

支持的引擎

  • Android: arm64, arm32;
  • iOS: arm64;
  • 发布渠道: Stable, Beta

安装

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

使用

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

请输入您的 Burp Suite IP: <input_ip>

SnapshotHash: 8ee4ef7a67df9845fba331734198a953
生成的 apk 文件: ./release.RE.apk
请对 apk 文件进行签名

impact@f:~$ reflutter main.ipa

流量拦截

您需要指定您的 Burp Suite 代理服务器的 IP,该服务器应与运行 Flutter 应用的设备处于同一网络中。然后在 BurpSuite -> Listener Proxy -> Options tab 中配置代理:

  • 添加端口: 8083
  • 绑定地址: 所有接口
  • 请求处理: 支持隐形代理 = True

Android 无需安装证书或 root 权限。reFlutter 还可以绕过某些 Flutter 证书固定实现。

⚠️ 注意: 从 Flutter 版本 3.24.0(快照哈希:80a49c7111088100a233b2ae788e1f48)开始,硬编码的代理 IP 和端口已被移除。您现在需要在设备上直接配置代理。

在 Android 上

使用 ADB 配置设备的代理:

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

对 APK 进行签名、对齐并安装。可选地配置 TunProxy 以通过 Burp Suite 路由流量。

在 iOS 上

对 IPA 进行签名并安装。配置 Potatso 以使用您的 Burp Suite 代理服务器。

在 Android 上使用

生成的 apk 必须对齐并签名。推荐使用 uber-apk-signer:

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

在设备上运行应用。通过二分搜索确定 _kDartIsolateSnapshotInstructions。reFlutter 将 dump 文件写入应用的根文件夹并设置 777 权限。使用以下命令获取:

root@kitploit:~
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/ ;
...

在 iOS 上使用

运行 reflutter main.ipa 后,在设备上执行应用。dump 文件的路径会打印到 Xcode 控制台日志中:

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

从设备上获取该文件。

Frida

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

在 Frida 脚本 中使用偏移量:

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

查找 _kDartIsolateSnapshotInstructions:

root@kitploit:~
readelf -Ws libapp.so

查找 Value 字段。

待办事项

  • 显示函数的绝对代码偏移量;
  • 提取更多字符串和字段;
  • 添加套接字补丁;
  • 通过 Fork 和 Github Actions 将引擎支持扩展到 Debug;
  • 改进对 zip 存档中 App.framework 和 libapp.so 的检测

构建引擎

引擎基于 enginehash.csv 中的数据,使用 GitHub Actions 构建。快照哈希从以下位置获取:

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

gif

自定义构建

支持使用 Docker 进行手动 Flutter 代码修补:

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

运行:

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

示例:

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

示例:构建 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

标志:

  • -e x64=0:禁用 x64 构建
  • -e arm64=0:禁用 arm64 构建
  • -e arm=0:禁用 arm32 构建
  • -e WAIT=300:在构建前修改源代码的等待时间(秒)
  • -e HASH_PATCH:来自 enginehash.csv 的快照哈希
  • -e COMMIT:引擎提交哈希

下载工具