Flutter逆向工程框架reFlutter安装配置完全指南
reFlutter Flutter Reverse Engineering Framework 项目地址: https://gitcode.com/gh_mirrors/ref/reFlutter
项目基础介绍与编程语言
reFlutter 是一个专为 Flutter 应用程序设计的逆向工程技术框架,旨在帮助安全研究人员和开发者进行应用分析,尤其是对动态分析有需求的场景。该框架通过修改过的Flutter库版本,允许用户监控流量、打印类与函数等信息,便于进行深入的代码审查和分析。reFlutter 主要采用 Python 编程语言,并且依赖于特定的Flutter引擎版本进行定制。
关键技术和框架
- Flutter逆向工程: 利用补丁版Flutter库进行App内部行为的分析。
- 动态分析: 通过对dart.cc和socket.cc的修补,实现实时监控和数据拦截功能。
- Docker支持: 提供自定义Flutter代码变更的能力,便于高级用户添加自己的补丁。
- 集成Burp Suite: 支持代理设置,方便进行网络请求截取与分析。
安装与配置步骤
环境准备
确保你的开发环境具备以下条件:
- Python 3.x: 安装最新版本的Python。
- pip: Python包管理器。
- Git: 用于克隆项目源码。
- Android Studio 或 Xcode: 根据目标平台(Android或iOS)选择相应的开发环境。
- Docker (可选): 对于想要自定义引擎或进行更深层次修改的用户。
步骤一:获取项目源码
首先,使用Git克隆reFlutter项目到本地:
git clone https://github.com/ptswarm/reFlutter.git
cd reFlutter
步骤二:安装reFlutter
利用pip全局安装reflutter
工具,适用于Linux、Windows和MacOS:
pip3 install reflutter
如果遇到权限问题,可以尝试使用sudo
前缀。
步骤三:配置Burp Suite(以Android为例)
-
配置Burp Suite代理服务器:
- 打开Proxy选项卡。
- 在Options下,添加监听端口(例如8083),绑定地址选择"All interfaces"。
- 在Request handling中,勾选"Invisible proxying"为True。
-
设备设置:
- 确保设备和Burp在同一网络下。
- 不需要在Android设备上安装证书或具有root权限。
步骤四:使用reFlutter处理APK文件
替换 <input_ip>
为你的Burp Suite IP地址执行命令,这里以Android为例:
refflutter main.apk
根据提示输入Burp Suite的IP地址和SnapShot Hash(如果是首次使用,可能需要按指示查找或默认)。
步骤五:签名并校验APK文件
使用uber-apk-signer
工具签署结果APK:
java -jar uber-apk-signer.jar --allowResign release.RE.apk
高级用法:自定义构建引擎(可选)
对于需要自定义引擎或使用特定快照哈希的情况,可以通过Docker环境实现。详细命令如下:
sudo docker pull ptswarm/reflutter
sudo docker run -e HASH_PATCH=<指定快照哈希> -e COMMIT=<指定引擎提交ID> -v $(pwd):/t ptswarm/reflutter
请将<指定快照哈希>
和<指定引擎提交ID>
替换成实际值。
至此,您已经成功安装并基本配置了reFlutter框架,可用于Flutter应用的逆向工程和分析工作。记得根据具体应用场景调整配置细节。
reFlutter Flutter Reverse Engineering Framework 项目地址: https://gitcode.com/gh_mirrors/ref/reFlutter