参考:https://blog.csdn.net/m0_57836225/article/details/154300720
工具:
| 工具类型 | 工具名称 | 核心功能 | 适用场景 | 下载地址 |
|---|---|---|---|---|
| 反编译工具 | Apktool | 拆解 APK 为资源文件(XML、图片)和 Smali 代码 | 查看 APP 布局、提取图片资源、修改 Manifest 文件 | https://apktool.org/docs/install/#windows |
| 反编译工具 | dex2jar | 将.dex 转为.jar,再反编译为 Java 伪代码 | 快速阅读 Java 层业务逻辑(非 100% 还原) | https://sourceforge.net/projects/dex2jar/ |
| 代码阅读工具 | JD-GUI | 阅读jar源码 | 快速阅读 Java 层业务逻辑(非 100% 还原) | http://java-decompiler.github.io/ |
| 反编译工具 | JADX | 直接加载 APK/dex/jar,生成 Java 代码(推荐) | 替代 dex2jar+JD-GUI,支持搜索和跳转 | https://github.com/skylot/jadx?tab=readme-ov-file |
| 动态调试工具 | Android Studio Debugger | 调试 Java 代码(需 APP 含调试信息) | 跟踪 Java 层函数调用流程、查看变量值 | |
| 原生调试工具 | IDA Pro(付费)/Ghidra(免费) | 反编译.so 文件,查看汇编代码,动态调试 | 分析 C/C++ 层核心逻辑(如加密算法) | |
| 脱壳工具 | Frida + Uncrackable | 动态脱壳(应对加壳 APP,如 360 加固、爱加密) | APP 加固后无法直接反编译,需先脱壳获取原始 dex | |
| 动态插桩工具 | Frida | 无需修改源码,注入 JS 脚本 Hook 函数 | 拦截函数参数 / 返回值(如 Hook 登录接口) | |
| 抓包工具 | Fiddler/Charles | 捕获 APP 的网络请求(HTTP/HTTPS) | 分析 API 接口格式、查看数据加密情况 |
JADX下载后可以直接打开apk文件阅读源码