Fultter逆向分析方法

admin 2026-02-03 00:54:57 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文档深入解析Flutter应用逆向分析的核心方法,重点介绍了动态工具reFlutter(重打包Dump元数据与注入代理)与静态工具Blutter(解析libapp.so反编译)。文章梳理了FridaHookBoringSSL解决抓包难题的方案,并提供了结合IDA与Frida的通用分析流程。建议根据分析目标互补使用reFlutter与Blutter,以兼顾网络抓包与深层逻辑分析。 综合评分: 86 文章分类: 逆向分析,移动安全,安全工具


cover_image

Fultter逆向分析方法

原创

云天实验室 云天实验室

哆啦安全

2026年2月2日 12:11 四川

智能分析产品(28款神器)

Android逆向技能树(2026版)

鸿蒙HarmonyOS应用逆向技能树(2026版)

Flutter应用的逆向分析通常从解析编译后的Dart代码拦截网络流量入手,并依赖专门的工具。以下是核心方法、工具和操作流程的梳理:

主流的Flutter逆向分析工具,并按动态/静态分析、抓包Hook、综合套件进行了分类

🛠️ 核心分析工具

这是逆向工作的主力,分为动态和静态两大流派:

  • reFlutter

  • 类别: 动态分析

  • 主要功能: 通过重打包并修改Flutter运行时(libapp.so),在App运行时Dump出函数名、偏移地址等元数据(生成dump.dart),并自动注入代理设置以方便抓包-。

  • 特点与局限: 动态获取信息,维护成本相对较低,能绕过抓包难题。但需要重打包应用,可能触发签名或root检测。对新版本的官方支持可能有延迟。

https://github.com/Impact-I/reFlutter
  • Blutter

  • 类别: 静态分析

  • 主要功能直接静态解析libapp.so文件,反编译出带符号的汇编代码,并生成用于Hook的Frida脚本和对象池信息文件(pp.txtobjs.txt)。

  • 特点与局限: 无需运行应用,适合深入分析代码逻辑。但分析门槛较高,输出为汇编代码,且不直接处理网络抓包

  • JEB(商业软件)

  • 类别: 静态分析 (GUI工具)

  • 主要功能: 其Dart AOT快照解析插件可以直接加载libapp.so,解析出函数、类等信息,并提供一定的反编译视图。

  • 特点与局限: 图形化界面,对特定版本范围(如Dart 2.10到2.17)支持较好。但作为商业软件需购买,且版本更新可能滞后于Dart SDK的快速迭代

  • Doldrums

  • 类别: 静态分析

  • 主要功能: 一个开源的Dart快照分析器,用于从快照中提取信息。

  • 特点与局限已基本停止维护,仅支持非常旧的Flutter版本(如2.10, 2.12),目前实用性很低

#

🔌 抓包与Hook辅助工具

这类工具专门解决Flutter应用独特的网络抓包和运行时Hook难题。

  • Frida脚本 (BoringSSL Hook)

  • 类别: 动态Hook

  • 主要功能: 由于Flutter使用BoringSSL进行证书校验,不走系统代理,需要编写或使用现成的Frida脚本Hook libflutter.so中的证书验证函数(如ssl_crypto_x509_session_verify_cert_chain),强制返回true以绕过校验。

  • 特点: 是配合代理抓包的关键步骤,无论是否使用reFlutter都可能需要。

  • flutter逆向助手

  • 类别: 动态分析/辅助工具

  • 主要功能: 一个基于reFlutter思路优化的工具,旨在简化使用流程(如免重打包,通过替换so文件实现)。

  • 特点与局限: 同样依赖快照哈希(Snapshot_Hash)识别版本,若哈希被抹除则无法使用。

📦 综合套件

这是一些集成了多种逆向功能(包括Flutter分析)的工具箱。

  • RevEngi App

  • 类别: 综合逆向工具箱

  • 主要功能: 一个集成了Smali语法参考、DEX修复、Flutter分析(包含Blutter)、JNI分析等多种功能的客户端应用。

  • 特点: 提供了图形化界面,方便移动端或桌面端使用,适合需要多方位逆向的场景。

💡 如何选择工具?

你可以根据分析目标,参考以下建议:

  1. 目标是抓包和快速了解应用结构
  • 首选 reFlutter,它提供了从Dump信息到设置代理的一站式解决方案
  • 遇到证书校验时,配合 Frida脚本 进行Hook。
  1. 目标是深入分析核心算法或业务逻辑
  • 首选 Blutter,它能提供带符号的反汇编代码,更利于静态分析。
  • 使用 IDA Pro 或 Ghidra 加载分析Blutter输出的结果。
  1. 希望使用图形化工具
  • 可以考虑 JEB(商业)或 RevEngi App(免费),它们提供了更友好的操作界面。
  1. 一个典型的结合使用流程
  • 用 reFlutter 获取函数偏移并解决抓包问题。
  • 用 Blutter 对关键函数进行更深入的静态反汇编分析。
  • 使用 Frida 根据两者提供的信息,对关键函数进行动态Hook和调试验证

🛠️ 主要工具与核心方法

目前主流工具是 reFlutter 和 Blutter,它们原理不同,适用场景互补。

1. reFlutter:运行时分析

  • 原理与特点:通过重打包APK,在运行时libapp.so中注入代码,实现函数信息Dump和代理设置。属于动态分析。
  • 主要功能:生成函数信息文件 (dump.dart);注入代理,便于HTTPS抓包。
  • 适用场景:适合需要拦截并分析网络请求,或快速获取函数映射关系的场景。
  • 局限:需修改并重签名应用,可能触发加固或签名校验。

2. Blutter:静态分析

  • 原理与特点:直接静态解析libapp.so文件,无需运行应用。属于静态分析。
  • 主要功能:反编译出带符号的汇编代码;生成用于Hook的Frida脚本;导出Dart对象池信息。
  • 适用场景:适合深入分析应用逻辑、算法,或在无法运行应用时使用。
  • 局限:输出为汇编代码,分析门槛较高;不直接处理抓包。

简单来说:想抓包或快速探测,选reFlutter;想深入分析代码逻辑,选Blutter。两者也常结合使用。

📡 解决HTTPS抓包难题

Flutter应用默认不走系统代理且有独立证书校验,抓包常用两种方法:

  1. 使用reFlutter:重打包时已注入代理,安装修改后的APK即可直接抓包。
  2. Frida Hook证书校验:找到libflutter.so中BoringSSL的证书验证函数(如ssl_crypto_x509_session_verify_cert_chain),用Frida Hook并强制其返回true。这种方法无需重打包。

🔬 逆向分析通用流程

一个典型的分析流程会结合多种工具:

  1. 获取代码信息
  • 使用reFlutter生成包含函数偏移地址的dump.dart文件
  • 或使用Blutter反编译出带符号的汇编代码文件。
  1. 静态分析定位:用IDA Pro等工具加载libapp.so。结合dump.dart中的偏移地址或Blutter生成的符号,定位关键函数
  2. 动态调试验证:使用 Frida 执行Blutter生成的脚本或自定义脚本,Hook关键函数,监视参数和返回值,验证分析。
  3. 网络流量分析:按上述方法配置抓包环境,拦截和分析网络请求。

💡 分析与操作建议

  • 从简单应用开始:先用开源Flutter应用练习整套流程。
  • 注意版本兼容性:工具可能依赖特定的Flutter引擎或Dart版本。
  • 结合使用效果更佳:用reFlutter快速抓包和Dump,用Blutter进行深入的静态分析。
  • 利用好输出文件:Blutter生成的pp.txtobjs.txt能帮你定位字符串、匿名函数等对象的具体内容。

Android开发智能调试分析软件V7.5

链接: https://pan.baidu.com/s/1cSibTh8nDMwsEvJ59Oblvg 提取码: rx32

使用方法

先注册、再输入密码cd_admin_001&2025_001,点击登录!

APP逆向分析工具V4.5

APK安全加固平台V5.2

智能分析产品(28款神器)

Python逆向分析工具V2.5

Unity手游无Root注入工具

Android病毒分析工具V3.2

Android智能取证系统V1.1.8

Android智能调试分析工具V7.5

Python字节码反编译工具(逆向分析)

Python字节码反编译逆向分析(高级篇)

Android Apk逆向分析工具(jadx-ai-mcp)

逆向交流群|Android智能调试工具(下载地址)

Smali/AAR/JAR/DEX/APK逆向分析转换工具V2.5


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:哆啦安全 云天实验室 云天实验室《Fultter逆向分析方法》

评论:0   参与:  0