尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
一条命令拆解 Flutter 应用:用 B(l)utter 解析 libapp.so
一条命令拆解 Flutter 应用用 B(l)utter 解析 libapp.so【免费下载链接】blutterFlutter Mobile Application Reverse Engineering Tool项目地址: https://gitcode.com/gh_mirrors/bl/blutterB(l)utter 是一款 Flutter 逆向工具它从 Android APK 的 libapp.so 中解析 AOT 编译后的 Dart 字节码产出带符号的汇编、对象池完整转储和 Frida 挂接脚本适合需要深挖 Flutter 应用的安全研究人员和开发者。直面 libapp.so 无符号的困境Flutter 应用的 Dart 代码被 AOT 编译进 libapp.so没有源码、没有函数符号、没有类信息静态工具打开后满眼机器码。你逆向时通常想要三样东西——应用有哪些类和函数、硬编码了哪些字符串和对象、运行时从哪里切入。手工还原 Dart VM 内部结构又是个苦差事对象池布局随 Dart 版本变化stub 和类型表示这些年改了好几轮。B(l)utter 把整条链路自动化你只需指向 APK 的 lib 目录它会自己判断应用用的哪个 Dart 版本、自动构建匹配版本的分析可执行文件然后吐出结果。跑通 Flutter 逆向环境三步装依赖 → 执行一条命令 → 拿到结果。第一步装依赖。项目用到 C20 格式化库编译器要求 g≥13 或 Clang≥16建议直接用较新的发行版。Debian Unstable 下一条命令装齐apt install python3-pyelftools python3-requests git cmake ninja-build \ build-essential pkg-config libicu-dev libcapstone-devWindows 先装 Visual Studio勾选 Desktop development with C 和 C CMake tools 组件再执行python scripts\init_env_win.py拉取 libcapstone 与 libicu4cmacOS 用brew install cmake ninja pkg-config icu4c capstone加pip3 install pyelftools requests即可。第二步执行命令。先解包 APK 取出 lib/arm64-v8a 目录然后python3 blutter.py path/to/app/lib/arm64-v8a out_dir首次运行时脚本会自动检测 Dart 版本若缺少对应的 blutter 可执行文件它会自动检出 Dart 源码并编译全程无需干预等它跑完即可。第三步拿到结果。编译与分析结束后out_dir 下会生成四份产出。读懂输出文件asm/带符号的 libapp 反汇编。打开后可以直接按函数名跳转想定位某段逻辑时按名字 grep 即可不用再对着无符号机器码硬猜。objs.txt对象池中对象的完整嵌套转储。字符串常量、类名、硬编码的网络地址都集中在这里是排查敏感信息的第一落点。pp.txt对象池中全部 Dart 对象的清单。拿它和 Frida 运行时数据对照能快速确认某个函数实际引用了哪些对象。blutter_frida.js针对目标应用预生成的 Frida 脚本模板补上挂接点就能注入目标进程做动态分析。搞懂它替你做了什么机制层面有三点值得了解。Dart 版本自动检测。extract_dart_info.py 从 libflutter.so 中解析快照哈希与编译标志确定精确的 Dart 版本及 compressed-pointers 等特性省去人工比对引擎版本的麻烦。缺库自动编译。bin/ 目录按blutter_dartvmver_os_arch命名存放各版本的分析可执行文件缺哪个版本脚本就检出对应 Dart 源码并完整编译同时检查 Dart VM 头文件class_id.h、object.h 等注入版本兼容宏一次构建即得到与该应用完全匹配的分析工具。对象池与代码解析。blutter 的 C 程序针对 Dart VM 静态库构建因此能用 VM 自身的结构定义直接遍历对象池、重建 Dart 对象代码分析逻辑在 CodeAnalyzer.cppFrida 模板由 FridaWriter.cpp 生成。用进阶选项动手改源码python3 blutter.py path/to/app/lib/arm64-v8a out_dir --rebuild强制重新编译对应版本的可执行文件升级工具或构建损坏时用。Windows 下生成 Visual Studio 工程便于调试python blutter.py path\to\lib\arm64-v8a build\vs --vs-sln。--no-analysis关闭代码分析模块的构建Dart 低于 2.15 时脚本会自动强制此项。想改代码看 blutter/src/ 目录即可DartDumper.cpp 负责对象池转储Disassembler_arm64.cpp 处理 ARM64 反汇编入口是 main.cpp。构建脚本在根目录的 blutter.py 和 dartvm_fetch_build.pybuild/ 与 dartsdk/ 是中间产物构建完成后可直接删掉。你可能会遇到的问题你可能会遇到编译器过旧。低于 g 13 的环境会在模板代码上报一片错优先换用新发行版或 clang-16老系统上移植新版 gcc 通常行不通。你可能会遇到首次运行特别慢。它需要下载 Dart 源码并完整编译 VM预留充足的磁盘与稳定的网络同版本目标再次运行时则秒出结果。你可能会遇到目标不适用。目前只支持 Android 的 arm64 libapp.soiOS 二进制或 armeabi-v7a 目录无法处理。你可能会遇到老 Dart 版本构建失败。若应用 Dart 版本低于 2.15显式加--no-analysis跳过代码分析模块。先拿手上任意一个 APK 把整条流程走完再去 objs.txt 里 grep 应用硬编码的字符串熟悉产出物之后就可以进 blutter/src/ 加自己需要的解析逻辑了。【免费下载链接】blutterFlutter Mobile Application Reverse Engineering Tool项目地址: https://gitcode.com/gh_mirrors/bl/blutter创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

Shardeum投票系统全解:去中心化治理与自动扩容投票指南

Shardeum投票系统全解:去中心化治理与自动扩容投票指南

Shardeum投票系统全解:去中心化治理与自动扩容投票指南 【免费下载链接】shardeum Shardeum is an EVM based autoscaling blockchain 项目地址: https://gitcode.com/GitHub_Trending/sh/shardeum Shardeum投票系统是这条EVM兼容自动扩容区块链的治理核心&a…

📅 2026/10/9 0:36:20
onChange这类函数型Props如何在组件库中演示?react-bluekit事件触发器设计全解

onChange这类函数型Props如何在组件库中演示?react-bluekit事件触发器设计全解

onChange这类函数型Props如何在组件库中演示?react-bluekit事件触发器设计全解 【免费下载链接】react-bluekit Automatically generating a component library from your React components (ES5, ES6, Typescript) 项目地址: https://gitcode.com/gh_mirrors/re/…

📅 2026/10/5 7:22:46
如何在昇腾平台上部署 Qwen3.5-397B-A17B 大模型

如何在昇腾平台上部署 Qwen3.5-397B-A17B 大模型

如何在昇腾平台上部署 Qwen3.5-397B-A17B 大模型 【免费下载链接】Qwen3.5 项目地址: https://ai.gitcode.com/hf_mirrors/vLLM_Ascend/Qwen3.5 本教程基于 vllm-ascend 推理框架,完成 Qwen3.5-397B-A17B 部署的完整路径:从版本选型、最小单节点…

📅 2026/10/6 12:57:00
MORE NEWS

更多资讯

📰

OpenPose pose_iter_xxxxxx.caffemodel 深度解析与部署避坑指南

简介:本资源为OpenPose官方预训练模型库完整合集,面向计算机视觉方向的研究者、算法工程师及深度学习实践者,用于快速开展人体姿态估计、手部关键点检测、面部特征定位等多场景应用开发与模型微调。压缩包内共12个文件,包含6个Caf…

📰

RAG 2.0架构解析:动态检索与混合推理的突破

1. RAG 2.0架构核心设计理念RAG(Retrieval-Augmented Generation)2.0架构是当前大模型应用领域最前沿的技术范式之一。我在实际企业级知识库项目中验证发现,相比传统RAG 1.0版本,2.0架构在三个关键维度实现了突破:动态…

📰

Anthropic订阅API等价价值5倍于OpenAI:负载与成本深度拆解

"SemiAnalysis 测算:Anthropic 订阅的 API 等价价值约为 OpenAI 的 5 倍以上",这条消息我看完第一反应是:这不是在说 Anthropic 的 API 比 OpenAI 贵 5 倍,而是在说两边订阅用户实际消耗出来的“市场价值”差了 5 倍。S…

📰

ToolPlatform烧录工具从解压到跑通:嵌入式新手避坑指南

简介:ToolPlatform-1.0.11-win32-x86-64.zip 是一款面向 Windows 平台的烧录工具软件包,版本 1.0.11,同时兼容 32 位与 64 位系统。它主要服务于需要刻录光盘、制作启动盘、复制或备份存储介质的用户,尤其适合在其它烧录工具出现兼…

📰

Citect2018培训手册实战:从零搭建可运行SCADA工程与避坑指南

简介:《Citect2018培训手册》面向工业自动化领域的初学者与工程技术人员,针对施耐德电气CitectScada2018这一监控与数据采集系统,帮助读者从零起步掌握其安装、开发与部署流程。资源包内含1个docx文档,整体约11.18MB,以…

📰

EGM96.ggf二进制解析实战:C++高精度大地水准面加载指南

简介:本资源是一套基于C#开发的EGM96大地水准模型二进制文件(.ggf)解析工具,面向GIS开发人员、测绘工程师及地球物理方向学习者,解决高程异常数据读取、定位查询与可视化分析等实际问题。项目完整实现GGF格式解析、721…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬