安卓逆向环境搭建
安卓逆向环境搭建
安卓逆向通常在电脑端搞的比较多,电脑上屏幕更大,敲字更快。 同时可以选择的软件很多,搞起来更没这么费劲。
我大概是12、13年左右开始在论坛上接触到的安卓逆向。逆向包括很多方面,比如修改软件的资源、文字、去掉广告、修改单机游戏的一些属性等。一开始接触的是美化手机,安卓 2.1、2.2 、2.3 这几个版本的系统都不怎么好看,除非一些第三方的系统做的比较好。所以就需要通过修改系统里面的一些软件或者资源达到美化的目的。同时慢慢也可以接触到一些更加复杂的,比如修改代码等。
在手机上也是可以做一些逆向相关的,但是操作起来没那么方便。特别是要修改文字的时候,很麻烦。 环境准备如下:
- 一台安卓手机,同时必须 ROOT,没有ROOT的话就不用看了。
- 准备好 RE 文件浏览器,这个在手机上比较实用的,可以替换编辑文件。
- MT 文件浏览器,小型的逆向工具箱,里面包含了很多工具,基本就不用别的软件了。MT 应该是我见过最早就可以双屏编辑的文件夹浏览器了,这在当时算是很先进的一个功能。同时 MT 支持直接修改 apk 文件等,特别的方便。基本上手机就靠它了,不在电脑旁边的时候还是可以用。
电脑上选择就更多了,不过要安装的软件也需要更多,需要安装下面的这些软件。
手机的 USB 驱动,确保手机可以连上去。
ADB 驱动,安装完了驱动,手机才可以正常连到电脑上进行命令操作。
JDK 。 安卓软件也是用 Java 语言去写的,所以很多软件都依赖 JDK。
这里可以去百度上下载 JDK 的安装包,下载完后是一个 .exe 文件,直接双击安装,然后一直点下一步即可。安装完后还需要配置下环境变量,不然一些软件可能会找不到 JDK 的安装目录。
在桌面上右键点击那个计算机的图标,选择 属性 - 高级系统设计 - 环境变量 。 点击新建一个环境变量 JAVA_HOME ,变量的值输入刚刚安装的 JDK 目录,通常是 Program Files\Java\jdk1.7.0,其中 jdk1.7.0 替换为你本机实际的目录名称。然在系统变量中,找到 Path 变量,点击编辑,在末尾处添加 ;%JAVA_HOME%\bin 这几个字母。
然后从开始菜单中找到命令行提示符,输入 java -version 后按下回车,如果看到了 java 相关字眼则说明安装成功。
apktool 反编译工具,这个主要是用来反编译以及重新编译安卓程序的 apk 包,可以把 apk 文件解压成可读的代码,我们直接用压缩程序解压出来的文件是没法直接看内容的。同样的,也是去百度上搜索下然后下载。下载下来是一个 JAR 文件,不用进行安装。不过使用的话,需要在命令行里面使用,没有图形界面的,有些软件会封装图形界面出来使用。
signapk 签名工具。这个工具就是 Android 开发中会使用到的一些工具,如果你本地安装了安装的开发环境,就不用单独去下载了。 这个也是个 JAR 文件,下载下来在命令行使用,没有界面提供。主要的用处就是可以给 APK 文件进行签名。
zipalign。 这是一个包含在 Android SDK 里面的小工具,主要是用于优化 apk ,让 apk 更加节省空间跟内存。可以下载也可以不下载。
dex2jar 工具。 这是一个将安卓软件包里面的 DEX 文件转换为 Java 的 JAR 文件。这个工具非常实用,将 DEX 文件转成 Java 后,又可以接着实用 JD-GUI 反编译成 Java 代码。
jd-gui 工具。这个工具可以将 Java 类文件转成我们更容易看得懂的 Java 代码,让我们更方便看出来软件的逻辑。下载后解压,双击 jd-gui.exe 就可以打开这个软件,这个软件是有图形界面的。
Sublime 文本工具。 我也是从别人的推荐里面知道这个工具的,打开后界面比较好看而且比较流畅。 用来编译 xml 等文件非常方便。
ApkIDE 也称 APK 改之理,是一个图形界面,很方便的可以拖拉式反编译以及修改代码,不过我用下里这软件经常会卡住。 比如之前我那笔记本是 XP 系统,内存小,一编译就直接卡住了。
Android Killer 。 这软件也是一款有图形界面的安卓逆向工具,使用起来是最好用的一个,不过有时候这软件也会有点 Bug,总的来说上面的命令行工具比较实用,但是 Android Killer 比较方便。