二、安卓逆向工具
这部分介绍的安卓逆向工具是一些用于安卓反编译、逆向分析的工具,可以将源程序反编译成可读代码,如Android Killer、Jadx和JEB等工具
1、Android Killer
Android Killer
是一款安卓逆向工具,集Apk反编译、Apk打包、Apk签名、编码互转、ADB通信等特色功能于一身,支持logcat日志输出,语法高亮,基于关键字项目内搜索,可自定义外部工具,简化了用户在安卓应用中的各种琐碎工作。
下载地址:https://www.androiddevtools.cn
Android Killer下载安装
1)下载后,解压至C盘
免安装直接使用。
2)简单配置
如果打开报错,就修改下jdk路径
加载APKtool工具
默认情况下会自带一个apktool工具,这里加载额外的apktool
Android Killer简单使用
对apk进行反编译
2、Android逆向助手 v2018 少月版
下载地址:CSDN上有
安装前需确认存在JDK,其功能包括反编译、重打包,格式转换等。简单的功能都列在主页了,其中最好用就是签名apk功能
3、Jadx 反编译工具
Jadx工具用于将dex文件反编译成Java代码文件,分为命令行窗口和可视化窗口两种类型
命令行窗口工具,直接进入目录的cmd中,通过jadx命令进行反编译
可视化窗口工具Jadx-gui,打开后导入文件即可开始反汇编
载入文件及介绍
载入贪吃蛇apk文件,主要反编译有两个文件,源代码和资源文件,资源文件对应apk中的文件(这里用压缩软件打开apk文件查看到)
简单搜索类
函数跳转
选择函数,按住Ctrl+左键
可以直接跳转至函数声明处。比如这里的BuyFailed()
4、JEB 反编译工具
JEB是一款Android应用程序反编译工具,用于逆向分析、代码审计,具有静态分析和动态分析的能力
下载地址:https://www.pnfsoftware.com
双击bat文件启动
选取一个apk文件进行反编译
Manifest文件是清单文件(元数据文件),用来定义扩展或档案打包相关数据包含了不同部分中的名/值对数据
Bytecode是字节码,里面内容是smali代码
简单使用
在smali文件中按q
可以反编译回java代码
按Ctrl+b
下断点
三、安卓调试工具
这部分为安卓调试工具,主要先介绍下载及安装,JEB动态调试在本文的第六节中介绍,其余的IDEA和IDA会在后面的动态调试文章中体现
1、JEB
JEB是一款Android应用程序反编译工具,同时也具备动态调试的功能,下文将以一个小例子进行演示。
第六部分简单演示了JEB的动态调试过程
2、IDEA
IDEA 全称 IntelliJ IDEA,是java编程语言开发的集成环境,在智能代码助手、代码自动提示、重构、JavaEE支持、各类版本工具(git、svn等)、JUnit、CVS整合、代码分析、 创新的GUI设计等方面的功能可以说是超常的
下载地址:https://www.jetbrains.com/idea
安装过程参考:01-IDE工具之IDEA的简介、下载与安装、初步配置
动态调试见后文
3、IDA
下载地址:百度
安装后有32位的和64位,这里的位数是针对软件而言的,而不是针对操作系统版本,这里先简单安装下,在后面IDA动态调试中会有专门一篇文章来介绍。
四、安卓辅助工具
这部分主要是一些辅助工具,查询信息、是否加壳等。对于没有真机的情况下还介绍了一些上手还可以的安卓模拟器
1、APK helper
APK helper工具用于查看apk文件简单信息,包括包名、证书、版本、文件信息等
2、PKiD 查壳工具
PKiD工具,将apk文件拖入可以查看是否加壳
3、安卓模拟器
如果没有真机做实验的情况下,可以使用安卓模拟器用于实验,大部分的模拟器都可以完成实验内容,但是注意的是安卓模拟器也是一个虚拟机,不建议在虚拟机内安装模拟器,一是安装不了,二是十分卡顿。这里介绍几款不错的安卓模拟器。
- 雷电模拟器
- 网易MuMu
下载地址:https://mumu.163.com
- 逍遥模拟器
下载地址:https://www.xyaz.cn
- 蓝叠模拟器