逆向技术 安卓逆向工具汇总 / Awsome Android Reverse Tools 本页总览
安卓逆向工具汇总 / Awsome Android Reverse Tools
脱壳 / Unshell
FDex2
安卓xposed脱壳工具
通过Hook ClassLoader的loadClass方法,反射调用getDex方法取得Dex(com.android.dex.Dex类对象),再将里面的dex写出
安卓4.4以上的手机或模拟器
其它看软件提示
FART
so库 / Native
IDA Pro
目前最棒的反编译软件 (商业软件,网上可以找到破解版,真有能力的建议支持下正版)
支持 java、native
支持动态调试
Frida :
代码插桩工具
使用Python提供API,用JavaScript编写hook代码
支持hook java层
支持hook native 层
Ghidra
由美国国家安全局(NSA)研究部门开发的软件逆向工程(SRE)套件
支持Windows、Mac OS和Linux
功能包括反汇编,汇编,反编译,绘图和脚本等
[翻译]Ghidra简介
SoFixer
unicorn
一款非常优秀的跨平台模拟执行框架
该框架可以跨平台执行Arm, Arm64 (Armv8), M68K, Mips, Sparc, & X86 (include X86_64)等指令集的原生程序
参考:Unicorn 在 Android 的应用
zhkl0228 /unidbg
一个基于 unicorn 的逆向工具,可以黑盒调用安卓和 iOS 中的 so 文件
Allows you to emulate an Android ARM32 and/or ARM64 native library, and an experimental iOS emulation
jeb
商业反编译软件(有demo版本免费)
强大的将bytecode转为java代码的能力,对于循环等处理的很好
支持动态编辑,重命名,添加新package等
支持python的api扩展
jadx-gui :
方便的jadx工具,可以直接反编译apk
与jd-gui有类似的界面
支持全局搜索
GDA
国人开发的字节码反编译工具
支持 APK、DEX、ODEX、oat
ClassyShark
Google的apk查看工具
可以分析出apk的结构以及依赖信息
jd-gui :
用来查看反编译.class文件
支持Eclipe和IntelliJ扩展
有漂亮的gui界面
androguard :
使用DAD作为反编译器
可以分析恶意软件
有python api,可以写扩展
支持可视化
codeinspect
BytecodeViewer
集成了J-RET,JHexPane, Dex2Jar等多个反编译工具
Apk Easy Tool
轻量级的GUI应用程序,能够管理、签名、编译和反编译APK、DEX以及Jar文件,支持文件拖拽,简单易用,功能强大,对待Android逆向新手十分友好
集成多个命令行工具,如apktool、dex2jar、baksmali等
apktool :
编译res资源
转成smali
将修改后的smali回编译为apk
enjarfy :
google的反编译工具
可以将dalvik bytecode转化为java bytecode
比dex2jar支持case更多
dex2jar :
smali/baksmali/smalidea
将dex反编译成smali
将smali回编译成dex
AndroidStudio调试smali代码
icodetools
动态插入log代码到apk中的每个方法中的工具
只支持JDK1.7以及以下版本编译器
AXmlPrinter2
反编译Androidmanifest.xml的工具
反编译后的结果会输出到控制台
当前已经很少使用了
uber-apk-signer
签名辅助工具,集成了签名相关的常用操作 / A tool that helps signing, zip aligning and verifying multiple Android application packages (APKs) with either debug or provided release certificates (or multiple)
支持安卓v1、v2和v3签名 / supports v1, v2 and v3 android apk singing scheme
抓包 / Web Debugging Proxy
插件 / Plugin
java2smali
Android Studio插件
支持将java和Kotlin文件编译成smali文件
游戏 / Games