
本文介绍如何利用 Trae 结合 jadx 与 IDA Pro 的 MCP (Model Context Protocol) 工具,完成 Android 应用的逆向分析与电子数据取证任务。通过自然语言交互,可以高效定位包名、入口点、服务器信息及加密函数等关键数据。
工具与智能体配置
本次实战使用两个 MCP 智能体:
- jadx-mcp-server: 用于对 Android APK文件 进行反编译,并通过自然语言分析 Java/Kotlin 代码。
- ida pro mcp: 当遇到加密逻辑位于本地库(So库文件)时,用于辅助分析二进制代码。
在 Trae 中配置本地 MCP 服务器后,即可创建专门用于 APP 逆向分析的智能体工作流。
取证目标分析
本次对一个示例 APK 文件进行取证分析,目标包括:
- 找出该 APK 的包名。
- 找出该 APK 的程序入口点。
- 找出该 APK 回传服务器的联系人电话。
- 找出该 APK 回传服务器的邮箱登录地址。
- 找出该 APK 回传服务器的邮箱登录密码。
操作步骤与实战
1. 使用 jadx 进行初步反编译
首先,使用 jadx 工具打开目标 APK 文件,完成反编译。

反编译完成后,界面如下:

2. 通过 Trae 进行自然语言交互分析
在已配置好 jadx-mcp-server 的环境中,可以直接通过自然语言向 Trae 提问,获取分析结果。
提问示例 1:分析程序入口点
请你使用 MCP 工具帮我分析 jadx 现在打开的 APK 文件的程序入口点是什么?
Trae 调用工具后,返回分析结果:

提问示例 2:查找包名
请你使用 MCP 工具帮我分析 jadx 现在打开的 APK 文件的包名是什么?
Trae 返回结果:

提问示例 3:查找服务器联系人电话
帮我找出该 APK 回传服务器联系人电话是什么?
Trae 在分析代码后,识别到一个可疑的 libcore.so So库文件,提示加密信息可能存放在该原生库中:

3. 使用 IDA Pro MCP 分析 So 库
根据 jadx 分析阶段的提示,需要进一步分析 libcore.so 文件。
- 从 APK 中导出
libcore.so 文件。
- 使用 IDA Pro 加载该 So 文件。
- 在 IDA Pro 中启动并连接 MCP 服务。

- 在 Trae 中切换或配置 IDA Pro 的 MCP 工具,然后通过自然语言指令(如“查找关键字符串或函数”)继续进行分析,最终定位到加密存储的邮箱地址和密码等信息。

通过以上结合 jadx 与 IDA Pro 的 MCP 工具链,可以高效完成从 Java 层到 Native 层的完整逆向分析与电子数据取证工作。
|