移动安全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%\binC:\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下断点
  • 清单文件(Manifest)和字节码(Bytecode)分析

三、安卓调试工具

1. JEB动态调试

  • 连接模拟器/真机进行调试
  • 支持smali和Java层调试

2. IDEA

  • Java集成开发环境
  • 支持智能代码提示、重构、版本控制等

3. IDA Pro

  • 32位和64位版本
  • 主要用于native层逆向分析

四、安卓辅助工具

1. APK信息查看

  • APK helper: 查看包名、证书、版本等基本信息

2. 查壳工具

  • PKiD: 检测APK是否加壳

3. 安卓模拟器推荐

  1. 雷电模拟器: https://www.ldmnq.com
  2. 网易MuMu: https://mumu.163.com
  3. 逍遥模拟器: https://www.xyaz.cn
  4. 蓝叠模拟器: https://www.bluestacks.cn

五、安卓抓包技术

1. BurpSuite配置

  1. 设置代理监听器(如: 127.0.0.1:8080)
  2. 手机WiFi设置相同代理
  3. HTTPS抓包:
    • 下载CA证书(访问http://proxyIP:port)
    • .der改为.crt
    • 手机安装证书(设置→安全→从存储设备安装)

2. Fiddler配置

  • 基本操作:
    • Remove all清除抓包记录
    • 左下角Capturing开关抓包
  • HTTPS配置:
    • 下载安装证书
    • 配置监听端口

3. HTTP Debugger Pro

  • 安装后点击"解密SSL"添加证书
  • 支持模拟器抓包

六、JEB实战案例 - 注册机破解

1. 目标分析

  • 实现任意用户注册,无视注册码
  • 关键函数: checkSN(String arg11, String arg12)

2. 静态分析

  1. 导入APK到JEB
  2. 分析Java代码:
    • 使用MessageDigest进行MD5加密
    • 用户名→MD5→处理后与注册码比对
  3. 关键点: equalsIgnoreCase()比较

3. 动态调试步骤

  1. 模拟器中启动目标APK
  2. JEB中定位equalsIgnoreCase()并下断点
  3. 连接调试:
    • 使用adb连接模拟器
    • Debugger → Start选择目标进程
  4. 获取校验值:
    • 调试中查看v6变量值(如"222275aa4840481c")
  5. 使用获取的注册码成功注册

4. 技术要点

  • smali代码与Java代码转换
  • 动态调试流程掌握
  • 关键函数定位与分析

总结

本指南全面介绍了Android逆向所需的工具链和技术要点,从开发环境搭建到逆向分析工具,从静态分析到动态调试,以及抓包技术的实现。通过注册机破解案例,展示了完整的逆向分析流程。这些知识为后续更深入的Android安全研究奠定了基础。

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代码提示(可选): 二、安卓逆向工具详解 1. Android Killer 功能: 反编译、打包、签名、编码转换、ADB通信 配置: 修改jdk路径(如报错) 加载额外apktool工具 使用: 直接拖入APK文件进行反编译 2. Android逆向助手 功能: 反编译、重打包、格式转换、签名APK 需预先安装JDK 3. Jadx工具 命令行版 : 使用 jadx 命令反编译dex GUI版 功能: 查看源代码和资源文件 类搜索功能 函数跳转(Ctrl+左键) 4. JEB反编译工具 功能: 静态分析和动态分析能力 使用技巧: 在smali文件中按 q 转Java代码 Ctrl+b 下断点 清单文件(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 手机安装证书(设置→安全→从存储设备安装) 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安全研究奠定了基础。