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