Android逆向系列之工具篇

一、安卓开发环境

JDK

JDK下载
Java SE Development Kit 8u111

JDK安装与环境变量配置
Windows环境变量设置
Linux环境变量设置
Mac环境变量设置

Eclipse
Eclipse区分32位和64位,请选择相应位数及版本进行下载
这里选择Eclipse IDE for Java EE Developers下载

2018/08/21 更新:

ADT
ADT-bundle集成包下载:
windows-x86_64
Windows x86
以上版本为2014年版本,由于从2015年6-29日起,Google停止对ADT-bundle的支持,仅支持官方原版Android Studio
Eclips中安装ADT步骤:
如何在eclipse中添加android ADT
由于 https://dl-ssl.google.com/android/eclipse/ 国内已经不墙,可以畅快下载,故使用此方法也可以。

Android Studio

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

下载:
官方版本(需梯子)
镜像版本

安装:
安装方法

使用方法:
《Android Studio入门到精通》

二、安卓逆向工具

JAVA层逆向工具

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

(1)APKIDE(Windows)

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

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

下载: APKIDE_V3.3

2017/09/27 增加

(2)Android killer(Windows)

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

下载: Android_Killer_1.3

(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的文件。

APKtool:下载
apktool.bat:下载
ShakaApktool: github下载

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

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

Native层逆向工具

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

签名工具

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

脱壳工具

(1)Zjdroid
《基于Xposed的一款脱壳神器ZjDroid工具原理解析》

(2)drizzleDumper
《drizzleDumper的原理分析和使用说明》

(3)DexHunter-最强大的二代壳脱壳工具
《DexHunter的原理分析》

(4)DexExtractor
《android脱壳之DexExtractor原理分析》

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

查壳工具

(1)apkDetecter github地址
(2)apkCheckProtect 链接

XML静态分析工具

AXMLPrinter
《静态分析工具之-AXMLPrinter2.jar的使用方法》

其他工具
Andcrack-tool

三、Hook相关工具

Xposed

官网介绍: http://repo.xposed.info/
需Root,目前支持到6.0
《Xposed框架原理深入研究》

CydiaSubstrate

官网介绍: http://www.cydiasubstrate.com/
需root,目前支持到Android 4.3
《利用Cydia Substrate进行Android JAVA HOOK》

Frida

官网介绍: https://www.frida.re/
需Root,支持全平台
《Frida使用和Hook代码整理》

其他Hook框架

YAHFA、xHook等

四、安卓工具集成系统

吾爱破解安卓逆向虚拟机(Windows)
win7环境,部分工具版本较老,没有模拟器,大部分是图形界面工具,但工具齐全,使用起来也是挺方便的
下载地址

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

santoku

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

《移动设备取证、恶意软件分析和安全测试套件—Santoku》
附: 下载地址

AndroL4b

工具推荐:Androl4b,安卓安全评估测试利器

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

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

2018/08/21 更新

五、抓包工具

BurpSuite

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

下载
吾爱破解

使用
Burpsuite神器常用功能使用方法总结

Burpsuite手机抓包

Fiddler/Charles

Fiddler下载
官方版本

Fiddler使用
Fiddler手机抓包

Charles下载
下载

Charles手机抓包

Wireshark/Tcpdump

Wireshark下载
官方版本

Wireshark使用
wireshark抓包工具详细说明及操作使用

Tcpdump下载
PC版本
Android版本

Tcpdump使用
Linux tcpdump命令详解

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

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

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

发表评论

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

You must enable javascript to see captcha here!