Android逆向系列之工具篇

备注: 本文不提供任何工具的下载地址。

一、安卓开发环境

JDK

JDK下载
[ Java SE Development Kit 8u111](http://www.oracle.com/technetwork/cn/java/javase/downloads/java-archive-javase8-2177648-zhs.html "jdk")

JDK安装与环境变量配置
[Windows环境变量设置](https://www.cnblogs.com/smyhvae/p/3788534.html "Windows环境变量设置")
[Linux环境变量设置](http://www.cnblogs.com/mao2080/p/8142693.html "Linux环境变量设置")
[Mac环境变量设置](https://blog.csdn.net/yiluxiangqian7715/article/details/71307293 "Mac环境变量设置")

2018/08/21 更新:

<!–more–>

Android Studio

建议使用3.0,可直接集成使用JNI开发
建议熟悉一下两种编译方式: ndk-build/cmake

下载:
[官方版本](https://developer.android.com/index.html "官方版本")
[镜像版本](http://www.android-studio.org/index.php/download/hisversion "镜像版本")

安装:
[安装方法](https://www.cnblogs.com/xiadewang/p/7820377.html "安装方法")

使用方法:
[《Android Studio入门到精通》](https://blog.csdn.net/yanbober/article/details/45306483 "《Android Studio入门到精通》")

二、安卓逆向工具

JAVA层逆向工具

Java层逆向工具主要是用于静态分析JAVA代码与Smali静态代码注入。以下选一个下载即可,在实际逆向过程中,相结合各种工具,效果可能更佳。

(1)APKIDE(Windows)

Apk IDE是一款可视化的用于修改安卓Apk程序文件的工具,集成了ApkTool、Dex2jar、JD-GUI等Apk修改工具,集Apk反编译、Apk打包、Apk签名,支持语法高亮的代码编辑器,基于文件内容的关键字(支持单行代码或多行代码段)搜索、替换引擎,打造成可视的、一体化的APK修改工具,从而大大简化Apk修改过程中的繁琐操作,修改更轻松。

使用教程:国人打造的神器,界面友好,操作基本简单,可立即上手

2017/09/27 增加

(2)Android killer(Windows)

Android killer 是一款可视化的安卓应用逆向工具,集Apk反编译、Apk打包、Apk签名,编码互转,ADB通信(应用安装-卸载-运行-设备文件管理)等特色功能于一身,支持logcat日志输出,语法高亮,基于关键字(支持单行代码或多行代码段)项目内搜索,可自定义外部工具;吸收融汇多种工具功能与特点,打造一站式逆向工具操作体验,大大简化了安卓应用/游戏修改过程中各类繁琐工作。

(3)jeb/jadx

两者的区别主要是在全局搜索的功能上,但实际上JEB写脚本也可以实现全局搜索(后续会更新),其他的,在反编译功能上,JEB还是比较强的,毕竟是商业化的工具,jadx会出现比较多的未知错误。综合推荐使用两者进行逆向。

备注: 请注意Jeb需要使用Java 1.8.0_111版本

(4)Apktool

APKTool是GOOGLE提供的APK编译工具,能够反编译及回编译apk,同时安装反编译系统apk所需要的framework-res框架,清理上次反编译文件夹等功能,需要java支持。

但APKtool反编译后仅是smali代码,如果需要查看java源码,需要进一步结合下面dex2jar以及jd-gui工具。

反编译命令:apktool d file.apk dir

file.apk为要反编译的apk文件的路径
dir为反编译后的文件的存储路径位置

回编译命令: apktool b dir
dir为反编译后的文件的存储路径位置

输入这行命令后,如果一切正常,在该文件夹内会多了两个文件夹build和dist,其中分别存储着编译过程中逐个编译的文件以及最终打包的apk文件。
dist文件夹里面存放的就是回编译后不带有签名的apk文件,build文件夹里面还有一个apk文件夹,里面存放的就是回编译后没有打包成apk的文件。

dex2jar
d2j-dex2jar.bat classes.dex
即可在同目录下生成一个xxxx.jar可配合jd-gui进行查看

jd-gui
直接打开jar后缀文件即可
ctrl+shift+s快速打开搜索功能

Native层逆向工具

(1)IDA PRO 6.8/7.0
强大的静态分析工具,具体使用方法以后会涉及,这里仅作介绍
资源下载:

签名工具

signapk
对apk进行签名,使用apktool反汇编后的apk必须签名才能成功运行在模拟器或真机上
(1)sign
(2)图形化界面工具: APK上上签(Windows)

脱壳工具

(1)Zjdroid
[《基于Xposed的一款脱壳神器ZjDroid工具原理解析》](https://blog.csdn.net/jiangwei0910410003/article/details/52840602 "《基于Xposed的一款脱壳神器ZjDroid工具原理解析》")

(2)drizzleDumper
[《drizzleDumper的原理分析和使用说明》](https://blog.csdn.net/QQ1084283172/article/details/53561622 "《drizzleDumper的原理分析和使用说明》")

(3)DexHunter-最强大的二代壳脱壳工具
[《DexHunter的原理分析》](https://blog.csdn.net/QQ1084283172/article/details/53710357 "《DexHunter的原理分析》")

(4)DexExtractor
[《android脱壳之DexExtractor原理分析》](http://www.cnblogs.com/jiaoxiake/p/6818786.html "《android脱壳之DexExtractor原理分析》")

(5)其他脱壳工具
Android-Upacker

查壳工具

(1)apkDetecter
(2)apkCheckProtect

XML静态分析工具

AXMLPrinter
[《静态分析工具之-AXMLPrinter2.jar的使用方法》](https://blog.csdn.net/u013396632/article/details/78924349 "《静态分析工具之-AXMLPrinter2.jar的使用方法》")

其他工具
Andcrack-tool

三、Hook相关工具

Xposed

官网介绍: http://repo.xposed.info/
需Root,目前支持到6.0
[《Xposed框架原理深入研究》](https://blog.csdn.net/ascii2/article/details/47974217 "《Xposed框架原理深入研究》")

CydiaSubstrate

官网介绍: http://www.cydiasubstrate.com/
需root,目前支持到Android 4.3
[《利用Cydia Substrate进行Android JAVA HOOK》](https://blog.csdn.net/hu3167343/article/details/50805928 "《利用Cydia Substrate进行Android JAVA HOOK》")

Frida

官网介绍: https://www.frida.re/
需Root,支持全平台
[《Frida使用和Hook代码整理》](https://www.52pojie.cn/thread-611938-1-1.html "《》")

其他Hook框架

YAHFA、xHook等

四、安卓工具集成系统

以上由于不太好用,不建议使用,当然如果后续有更新的话,可以持续关注并使用

santoku

Santoku包括了一系列开源安全工具,可以帮助你的移动设备进行取证、恶意软件分析和安全测试。
比较专业,大部分工具都有,包括安全渗透测试工具也系统集成

[《移动设备取证、恶意软件分析和安全测试套件—Santoku》](http://www.freebuf.com/sectool/9280.html "《移动设备取证、恶意软件分析和安全测试套件—Santoku》")
附: [下载地址](http://santoku-linux.com/download/ "下载地址")

AndroL4b

[工具推荐:Androl4b,安卓安全评估测试利器](http://www.freebuf.com/sectool/95243.html "工具推荐:Androl4b,安卓安全评估测试利器")

下载: https://github.com/sh4hin/Androl4b

这个集成环境挺好用的,已经集成了大部分逆向需要的工具,同时是linux系统,对熟悉该操作系统的同学来说,比较好上手。

2018/08/21 更新

五、抓包工具

BurpSuite

如果世界上只能存在一种黑客工具,我选Bp

使用
[Burpsuite神器常用功能使用方法总结](https://www.cnblogs.com/nieliangcai/p/6689915.html "Burpsuite神器常用功能使用方法总结")

[Burpsuite手机抓包](https://www.jianshu.com/p/ec6035ad7c1e "Burpsuite手机App抓包")

Fiddler/Charles

Fiddler下载
[官方版本](https://www.telerik.com/download/fiddler "官方版本")

Fiddler使用
[Fiddler手机抓包](https://blog.csdn.net/shimengran107/article/details/78644862 "Fiddler4手机抓包")

Charles下载
[下载](https://www.cnblogs.com/rrl92/p/7928770.html "下载")

[Charles手机抓包](https://www.cnblogs.com/studycases/articles/7886625.html "Charles手机抓包")

Wireshark/Tcpdump

Wireshark下载
[官方版本](https://www.wireshark.org/download.html "官方版本")

Wireshark使用
[wireshark抓包工具详细说明及操作使用](https://blog.csdn.net/qq78069460/article/details/79153895 "wireshark抓包工具详细说明及操作使用")

Tcpdump下载
[PC版本](https://www.tcpdump.org/ "PC版本")
[Android版本](https://www.androidtcpdump.com/android-tcpdump/downloads "Android版本")

Tcpdump使用
[Linux tcpdump命令详解](https://www.cnblogs.com/ggjucheng/archive/2012/01/14/2322659.html "Linux tcpdump命令详解")

更多工具参考

[DroidSec工具](http://www.droidsec.cn/android-security-basic/ "DroidSec工具")

[ 26款优秀的Android逆向工程工具 ](https://www.freebuf.com/sectool/111532.html " 26款优秀的Android逆向工程工具 ")

请支持正版,本文仅作介绍,不涉及相关的版权问题,如有,请联系管理员删除,谢谢

本文属Tasfa原创,文中设计的工具仅作介绍与学习,如若侵权请联系删除,如若使用所介绍工具造成恶劣影响,本人不负任何责任,如有问题请联系root@tasfa.cn

《Android逆向系列之工具篇》有一个想法

abc进行回复 取消回复

电子邮件地址不会被公开。

You must enable javascript to see captcha here!