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

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

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

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

工具目录

分类

查看所有分类
Loading categories
blutter — Flutter移动应用逆向工程工具 | Kitploit
工具/GitHubGitHub/worawit/blutter
Android安全逆向工程移动安全二进制分析
GitHubworawit/blutter

blutter

Flutter移动应用逆向工程工具

查看仓库
2.6k3592天前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

B(l)utter

通过编译 Dart AOT 运行时实现的 Flutter 移动应用逆向工程工具

当前该应用仅支持 Android 的 libapp.so(仅 arm64)。 此外,该应用目前仅适用于较新版本的 Dart。

对于高优先级缺失功能,请参见 TODO

环境设置

本应用使用 C++20 格式化库。需要非常新的 C++ 编译器,例如 g++>=13、Clang>=16。

我建议使用 Linux 操作系统(仅在 Debian sid/trixie 上测试过),因为配置简单。

Debian Unstable (gcc 13)

注意: 仅使用从自身主仓库提供 gcc>=13 的 Debian/Ubuntu 版本。 将移植的 gcc 用于旧版 Debian/Ubuntu 是行不通的。

  • 安装构建工具和依赖项
root@kitploit:~
apt install python3-pyelftools python3-requests git cmake ninja-build \
    build-essential pkg-config libicu-dev libcapstone-dev

Windows

  • 安装 git 和 python 3
  • 安装最新的 Visual Studio,并选择“使用 C++ 的桌面开发”和“C++ CMake 工具”
  • 安装所需库(libcapstone 和 libicu4c)
root@kitploit:~
python scripts\init_env_win.py
  • 启动“x64 Native Tools 命令提示符”

macOS Sequoia

  • 安装 XCode
  • 安装所需工具
root@kitploit:~
brew install cmake ninja pkg-config icu4c capstone
pip3 install pyelftools requests

macOS Ventura 和 Sonoma (clang 16)

  • 安装 XCode
  • 安装 clang 16 和所需工具
root@kitploit:~
brew install llvm@16 cmake ninja pkg-config icu4c capstone
pip3 install pyelftools requests

使用方法

从 apk 文件中提取“lib”目录

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

blutter.py 会自动从 Flutter 引擎检测 Dart 版本,并调用 blutter 可执行文件从 libapp.so 获取信息。

如果所需 Dart 版本的 blutter 可执行文件不存在,脚本会自动检出 Dart 源代码并进行编译。

更新

你可以使用 git pull 进行更新,并使用 --rebuild 选项运行 blutter.py 强制重新构建可执行文件

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

输出文件

  • asm/* 带符号的 libapp 汇编文件
  • blutter_frida.js 目标应用程序的 Frida 脚本模板
  • objs.txt 对象池中对象的完整(嵌套)转储
  • pp.txt 对象池中的所有 Dart 对象

目录

  • bin 包含每个 Dart 版本的 blutter 可执行文件,格式为 "blutter_dartvm<ver>_<os>_<arch>"
  • blutter 包含源代码。需要针对 Dart VM 库进行构建
  • build 包含构建项目,构建完成后可以删除
  • dartsdk 包含 Dart 运行时的检出内容,构建完成后可以删除
  • external 仅包含 Windows 的第三方库
  • packages 包含 Dart 运行时的静态库
  • scripts 包含用于获取/构建 Dart 的 Python 脚本

为开发生成 Visual Studio 解决方案

我在 Windows 上使用 Visual Studio 开发 Blutter。可以使用 --vs-sln 选项生成 Visual Studio 解决方案。

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

TODO

  • 更多代码分析
    • 函数参数和返回类型
    • 针对代码模式的伪代码
  • 生成更好的 Frida 脚本
    • 更多内部类
    • 对象修改
  • 混淆应用(仍缺少许多函数)
  • 读取 iOS 二进制文件
  • 输入为 apk 或 ipa
下载工具