移动安全Android逆向系列:安卓工具总结
字数 1823 2025-08-09 15:23:10
Android逆向工具与技巧全面指南
一、安卓开发环境搭建
1. JDK和JRE安装配置
- JDK 8u111推荐版本
- 环境变量配置:
JAVA_HOME:C:\Program Files\Java\jdk1.8.0_111- Path添加:
%JAVA_HOME%\bin和C:\Program Files\Java\jre1.8.0_111\bin
2. 开发工具选择
- adt-bundle (含Eclipse)
- 下载地址: http://dl.google.com/android/adt/adt-bundle-windows-x86_64-20140702.zip
- 直接解压至C盘使用
- Android Studio
- 官方下载安装
- 安装类型选择"Standard"
3. Eclipse配置要点
- 配置Java编译环境
- 设置文本文件编码为UTF-8
- 打开Logcat界面查看报错信息
- 配置Java代码提示(可选):
abcdefghijklmnopqrstuvwxyz.
二、安卓逆向工具详解
1. Android Killer
- 功能: 反编译、打包、签名、编码转换、ADB通信
- 配置:
- 修改jdk路径(如报错)
- 加载额外apktool工具
- 使用: 直接拖入APK文件进行反编译
2. Android逆向助手
- 功能: 反编译、重打包、格式转换、签名APK
- 需预先安装JDK
3. Jadx工具
- 命令行版: 使用
jadx命令反编译dex - GUI版功能:
- 查看源代码和资源文件
- 类搜索功能
- 函数跳转(Ctrl+左键)
4. JEB反编译工具
- 功能: 静态分析和动态分析能力
- 使用技巧:
- 在smali文件中按
q转Java代码 Ctrl+b下断点
- 在smali文件中按
- 清单文件(Manifest)和字节码(Bytecode)分析
三、安卓调试工具
1. JEB动态调试
- 连接模拟器/真机进行调试
- 支持smali和Java层调试
2. IDEA
- Java集成开发环境
- 支持智能代码提示、重构、版本控制等
3. IDA Pro
- 32位和64位版本
- 主要用于native层逆向分析
四、安卓辅助工具
1. APK信息查看
- APK helper: 查看包名、证书、版本等基本信息
2. 查壳工具
- PKiD: 检测APK是否加壳
3. 安卓模拟器推荐
- 雷电模拟器: https://www.ldmnq.com
- 网易MuMu: https://mumu.163.com
- 逍遥模拟器: https://www.xyaz.cn
- 蓝叠模拟器: https://www.bluestacks.cn
五、安卓抓包技术
1. BurpSuite配置
- 设置代理监听器(如: 127.0.0.1:8080)
- 手机WiFi设置相同代理
- HTTPS抓包:
- 下载CA证书(访问
http://proxyIP:port) - 将
.der改为.crt - 手机安装证书(设置→安全→从存储设备安装)
- 下载CA证书(访问
2. Fiddler配置
- 基本操作:
Remove all清除抓包记录- 左下角
Capturing开关抓包
- HTTPS配置:
- 下载安装证书
- 配置监听端口
3. HTTP Debugger Pro
- 安装后点击"解密SSL"添加证书
- 支持模拟器抓包
六、JEB实战案例 - 注册机破解
1. 目标分析
- 实现任意用户注册,无视注册码
- 关键函数:
checkSN(String arg11, String arg12)
2. 静态分析
- 导入APK到JEB
- 分析Java代码:
- 使用MessageDigest进行MD5加密
- 用户名→MD5→处理后与注册码比对
- 关键点:
equalsIgnoreCase()比较
3. 动态调试步骤
- 模拟器中启动目标APK
- JEB中定位
equalsIgnoreCase()并下断点 - 连接调试:
- 使用adb连接模拟器
Debugger → Start选择目标进程
- 获取校验值:
- 调试中查看v6变量值(如"222275aa4840481c")
- 使用获取的注册码成功注册
4. 技术要点
- smali代码与Java代码转换
- 动态调试流程掌握
- 关键函数定位与分析
总结
本指南全面介绍了Android逆向所需的工具链和技术要点,从开发环境搭建到逆向分析工具,从静态分析到动态调试,以及抓包技术的实现。通过注册机破解案例,展示了完整的逆向分析流程。这些知识为后续更深入的Android安全研究奠定了基础。