安卓逆向破解
此处主要介绍安卓的逆向破解方面的内容:
概述
- 安卓的逆向破解- 静态分析- 按文件格式类型分- 针对apk- 查看apk信息- aapt
 
- 解包工具:输出dex、so、smali- apktool
 
- 反编译工具- 直接apk转java- jadx
- JEB
- GDA
 
 
- 直接apk转java
 
- 查看apk信息
- 针对dex- 各种导出dex的工具=砸壳工具=脱壳工具- FDex2
- DumpDex
- DexExtractor
 
- 各种反编译dex的工具- dex转jar- dex2jar
 
- dex转smali- baksmali
 
- dex直接转java- jadx
- GDA
 
 
- dex转jar
 
- 各种导出dex的工具=砸壳工具=脱壳工具
- 针对jar- jar转java=各种反编译工具- Procyon
- CFR
- JD-GUI
 
 
- jar转java=各种反编译工具
- 针对so库文件=(往往是ARM64架构)的ELF文件- 导出静态资源- readelf
- objdump
- razbin2
 
- 反编译代码逻辑- IDA
- Hopper
- Radare2
- Ghidra
 
 
- 导出静态资源
 
- 针对
- 涉及子领域- 反代码混淆
 
 
- 按文件格式类型分
- 动态调试- (绕过限制去)抓包- 绕过证书绑定的Exposed插件或Frida的脚本
 
- 反root检测
- 反反调试
- 各种动态调试手段- 调试smali:AS+smalidea插件- app进程可调试- Magisk插件:MagiskHide Props Config
 
- Magisk插件:
 
- app进程可调试
- 调试Frida:Frida- Frida环境搭建- Magisk插件:MagiskFrida
 
- Magisk插件:
 
- Frida环境搭建
- 调试lldb:LLDB
- 调试Xposed插件- XPosed
- EdXposed
- LSPosed
 
- 模拟代码执行- Unidbg- Unicorn
 
 
- 辅助调试工具- adb
- DDMS
 
 
- 调试smali:
 
- (绕过限制去)抓包
- 输出- 重新打包apk- apktool
- keytool
- jarsigner或- apksigner
- zipalign
 
- 用代码重写逻辑- Python代码
- C/C++代码
 
- 改机定制ROM- AOSP源码编译
- JNI开发
- NDK开发
 
 
- 重新打包apk
 
- 静态分析
另外:
- 砸壳思路=脱壳方案- 目前多数都是基于Hook框架,去从安卓app中导出dex文件- 典型的hook框架- XPosed:从根上hook了Android Java虚拟机
- Cydia:支持- JNI和- java层的hook功能
 
- 再去从dex中转换出java代码
 
- 典型的hook框架
 
- 目前多数都是基于
详解
具体内容,详见独立子教程: