Blutter:Flutter逆向快速上手指南
BlutterFlutter逆向快速上手指南【免费下载链接】blutterFlutter Mobile Application Reverse Engineering Tool项目地址: https://gitcode.com/gh_mirrors/bl/blutter做 Flutter 逆向卡住你的通常是三件事Dart 符号一个都看不到、动态 Hook 找不到入口函数、arm64 指令又看不懂。Blutter 走的路子比较硬核——它编译对应版本的 Dart AOT 运行时直接拿这份运行时去解析libapp.so静态符号、带符号反汇编、Frida 脚本模板一并给出是 Flutter 应用逆向分析里比较趁手的工具。先装再玩——两分钟把 Blutter 跑起来git clone https://gitcode.com/gh_mirrors/bl/blutter编译前花两分钟翻一下仓库 README 和scripts/目录下的构建脚本它要求 g ≥ 13 或 Clang ≥ 16 这类较新的编译器Windows、macOS 也有对应的环境初始化脚本。装好后python3 blutter.py就能干活——它会先从 Flutter 引擎里自动检测 Dart 版本对应版本的 blutter 可执行文件不存在时还会自动检出 Dart 源码帮你编译生成这一步比较吃时间但只需等一次。一条链路看懂 Blutter 的静态→动态分析能力整条链路是先静态、后动态、再底层静态解析拿符号动态 Hook 做验证反汇编负责兜底。静态层——把 Dart 符号从二进制里捞出来AOT 编译后的libapp.so里 Dart 类、函数、字段其实都在只是被运行时数据结构藏住了。blutter/src/CodeAnalyzer.h 里的 CodeAnalyzer 配合 DartClass、DartFunction 这些模块直接按 Dart AOT 运行时的内存布局把对象池里的信息读出来生成带符号的asm/反汇编、objs.txt完整对象转储和pp.txt对象列表等于把应用里用到的类结构和函数组织一次性摊开给你看。动态层——一键生成 Frida 脚本直接 Hook光看符号还不够你迟早想确认某个函数是不是真的被调用、参数长什么样。blutter/src/FridaWriter.h 的 FridaWriter 会基于静态分析的结果生成blutter_frida.js模板把目标应用的关键函数入口直接写进脚本里Hook 入口定位这一步就不用再手工翻了动态调试的门槛降了一大截。底层层——arm64 反汇编兜底符号没捞干净或者想看具体实现时blutter/src/Disassembler_arm64.cpp 基于 capstone 的 arm64 反汇编模块顶上带符号的汇编输出让读指令这件事没那么折磨。这三类人最该试试 BlutterFlutter应用逆向工具场景对照角色典型任务Blutter 帮到哪安全研究员Flutter 应用安全评估快速定位 Dart 关键函数与敏感调用App 逆向工程师分析第三方 Flutter 应用提取符号 一键生成 Hook 脚本Flutter 开发者学习/对比不同应用的实现方式对比类结构与函数组织同一套输出换个视角就是不同的生产力。几个容易踩的坑反汇编模块主要覆盖 arm64其他架构的libapp.so暂时不在支持范围内拿 ARM 32 位包来跑会失望静态提取效果依赖二进制完整性加了壳或做了混淆的应用很多函数会缺失——README 的 TODO 里也承认了这一点blutter_frida.js是模板需要搭配对应版本的 Frida 客户端使用且目标 Dart 版本要匹配版本对不上时提取结果会明显错乱。clone 下来挑个样本跑一遍静态分析看到带符号的 asm 和现成的 Frida 脚本你就知道它香在哪了。【免费下载链接】blutterFlutter Mobile Application Reverse Engineering Tool项目地址: https://gitcode.com/gh_mirrors/bl/blutter创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考