Android逆向系列之工具篇

一、安卓开发环境

(1)JDK
JDK下载
JDK环境变量设置
JDK安装与环境变量配置

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

2017/09/27 更新开发工具:

(3)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/ 国内已经不墙,可以畅快下载,故使用此方法也可以。

(4) Android Studio
建议使用3.0,可直接集成使用JNI开发
建议熟悉一下两种编译方式: ndk-build/cmake
下载: https://developer.android.com/index.html
《Android Studio入门到精通》

(5)SDK
下载后可以启动SDKmanager.exe 选择相应的版本进行下载。
设置环境变量(请自行区别不同平台的设置方法):
在环境变量中添加Android_SDK,值为 sdk安装路径 ,在Path变量中添加: %Android_SDK%\platform-tools;%Android_SDK%\tools

AVD使用:
Create->任意填写AVD name->Device选择Nexus4或其他->Target选择安卓版本(可在SDK Manager下载对应版本)->CPU/ABI选择ARM->
勾选keyboard一项,接下来三项可选none->RAM:512(注意这里要修改,默认为1907太大导致无法启动)->其他选项默认即可

问题分析:有时候启动安卓模拟器的时候会一直处于开机动画,无法进入屏幕
解决方法:
找到在sdk\tools目录下的emulator.exe,右键属性,将其兼容性修改为win7或者win8,即可成功启动。
第一次启动较慢,耐心等一会,一般不超过10分钟,如果出现其他问题,可在原先的启动窗口获取LogCat信息进行Google

镜像资源下载1:点我
镜像资源下载2:点我
百度网盘(旧版本):点我

(6)模拟器/真机
推荐使用官方原版的emulator,或者闲鱼淘二手的Nexus 5真机(谷歌儿子比较推荐)
其他模拟器:Genymotion(速度特别快,适合大量的卸载安装)、BlueStack(支持ARM,速度一般)

二、安卓逆向工具

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

反编译命令: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下载

4、apktoolkit
图形化界面,集各种逆向功能于一身,对于不适应命令行的同学来说比较适合
操作简单,这里也不介绍其使用方法

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

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

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

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

8、signapk
对apk进行签名,使用apktool反汇编后的apk必须签名才能成功运行在模拟器或真机上
(1)sign: 资源下载
(2)图形化界面工具: APK上上签(Windows)
链接:http://pan.baidu.com/s/1s0okY 密码:dg4r

9、jeb/jadx

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

下载:请自行搜索

10、脱壳工具

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

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

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

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

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

11、查壳工具
(1)apkDetecter
github: https://github.com/Andy10101/ApkDetecter

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

其他工具
Andcrack-tool

三、Hook相关工具

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

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

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

4、其他Hook框架
YAHFA、xHook等

四、安卓工具集成系统

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

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

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

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

3.AndroL4b

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

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

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

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

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

发表评论

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

You must enable javascript to see captcha here!