Skip to main content

flutter-reverse

Flutter 应用逆向专项。当分析 Flutter 引擎打包的安卓 App(识别标志:libflutter.so、libapp.so、assets/flutter_assets/、kernel_blob.bin)需要分析 Dart 逻辑、抓包(Flutter 不走系统代理)时使用。

소스 정보

저장소
xiamiya/mHook
최근 소스 활동
2026년 8월 6일 10:08
감지된 SKILL.md 언어
중국어
스타
95
포크
23

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
flutter-reverse
description
Flutter 应用逆向专项。当分析 Flutter 引擎打包的安卓 App(识别标志:libflutter.so、libapp.so、assets/flutter_assets/、kernel_blob.bin)需要分析 Dart 逻辑、抓包(Flutter 不走系统代理)时使用。
# Flutter 应用逆向 ## 一、识别 Flutter App - `lib/*/libflutter.so`(引擎本体) - `lib/*/libapp.so`(**你的 Dart 业务代码编译产物,AOT 快照**) - `assets/flutter_assets/` ## 二、Flutter 逆向的难点 - Dart AOT 编译成 native,**没有现成反编译器**能还原成 Dart 源码 - Flutter **不使用系统 HTTP 代理**,普通抓包(设 WiFi 代理)抓不到 ## 三、抓包(最常见需求) Flutter 走自己的 BoringSSL,忽略系统证书和代理。三种方法: 1. **reFlutter(推荐)**:重打包,patch libflutter.so 让它走代理 + 忽略证书 - 用 reFlutter 处理 APK → 生成新 APK → 装上后配合 Burp 抓包 2. **Frida hook ssl_verify**:hook libflutter.so 里的 `ssl_client_socket` / `SSL_CTX_set_custom_verify`(配合 frida-scripts 技能) 3. **iptables/透明代理**:把设备流量强制转发到抓包机(不依赖 App 的代理设置) ### reFlutter 抓包流程 ``` reFlutter your_app.apk # 选 Frida 模式 or 抓包模式 # 输出 release.RE.apk # 重签名后安装,设代理指向 Burp(默认 8083) ``` ## 四、分析 Dart 逻辑 1. 把 `libapp.so` 拖进 IDA/Ghidra 2. Dart 快照有自己的结构,用 **Doldrums** 或 **flutter-header** 工具解析 snapshot,恢复部分类名/函数名 3. 新版 Flutter 快照格式变化快,工具可能滞后 → 退回到纯汇编分析关键函数 ## 五、改逻辑 - 定位到 libapp.so 里的关键函数后,patch 汇编(配合 `reverse-patch-techniques` 技能) - 或 Frida 动态 hook libapp.so 的函数偏移 ## 六、抓到包后 - Flutter App 的接口通常是标准 REST/JSON 或 gRPC - 若接口有签名/加密 → 配合 `protocol-crypto-analysis` 技能分析签名算法 ## 边界 用于自有 App、已授权渗透测试、接口联调、学习 Flutter 原理。不协助未授权攻击、侵权或牟利。
GitHub에서 보기