安卓逆向破解

安卓逆向破解

安卓逆向破解

此处主要介绍安卓的逆向破解方面的内容:

概述

安卓的逆向破解

静态分析

按文件格式类型分

针对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