Android常用逆向工具总结(未完待续)

写在前面的话

突然觉得我好无聊,写这个有种浪费生命的感觉有没有,不过项目结束的时候这个还是要写的,以后写还不如现在趁现在,趁着现在链接就在身边直接写了。

1.apktool的安装和使用

1.1 apktool的安装

apktool 的官网:
https://ibotpeaches.github.io/Apktool/

上面写的很详细了,你因为没有问题的话那就直接看吧。
Android常用逆向工具总结(未完待续)_第1张图片

安装链接

首先我们需要下面两个东西

  • apktool
  • apktool.jar

首先 我们需要把https://raw.githubusercontent.com/iBotPeaches/Apktool/master/scripts/linux/apktool 这个链接保存为一个叫做apktool的文件,注意,这个文件是没有后缀的。
你就打开安装的那个链接,找到Linux安装的那个地方,右键找到wrapper script这个地方,然后点击链接另存为命名为apktool.


之后我们到https://bitbucket.org/iBotPeaches/apktool/downloads 这个页面下载好我们的apktool.jar文件,下载最新的版本,然后改名字叫apktool.

将这个两个文件移动到/usr/local/bin 这个目录下,移动的时候确保这两个文件都有运行的权限:

chmod a+x apktool
chmod a+x apktool.jar

这里写图片描述

这样就搞定了,你可以试一试。

1.2 apktool的使用

Android常用逆向工具总结(未完待续)_第2张图片

Android常用逆向工具总结(未完待续)_第3张图片

下面我们来说一个比较常用的用法,如果我们有一个APK文件,我们还要把这个APK输入到特定的文件夹中,或者说是目录中去,那我们就可以用下面这个命令:

apktool d apkfile.apk -o /home/your_name/des_dir

-o 表示输出到指定的目录,/home/your_name/des_dir 假设为我们要输出的目录

要是这个目录没有存在我们使用 -o 会自动创建这个目录,如果这个目录已经存在了,那么我们就用 -f 这个命令强制把这个目录覆盖了,里面的东西都会没有在的。这个是要注意的。



2.dex2jar的安装和使用

2.1 dex2jar的安装

dex2jar工具就是将 classes.dex文件这种二进制的字节码文件转换成比较容易阅读的Java文件

我们可以使用jd-jui来看我们的源码。

classes.dex文件包含了整个Android 的APK的所有源码。

dex2jar官网,点击跳转

在这个页面我们可以看见一个下载链接

Android常用逆向工具总结(未完待续)_第4张图片

点击Downloads这个按钮就可以直接跳转到我们的下载页面
或者你可以直接点击这个链接进行下载 dex2jar下载 我们一般选择下载最近的版本。

Android常用逆向工具总结(未完待续)_第5张图片

下载好之后我们会看到这样一个文件夹:

Android常用逆向工具总结(未完待续)_第6张图片

解压:

这里写图片描述

解压之后我们把文件家重新命名一下,方便使用,直接就叫dex2jar.这个时候我们给这个文件夹,以及里面的所有文件都赋执行权限

chmod -R 777 dex2jar/

只要把我们的APK文件的后缀改了,变成zip然后把其中的classes.dex文件放在我们的dex2jar文件夹下面然后运行

sh d2j-dex2jar.sh classes.dex

为了在任何地方都可以使用我们把这个路径添加到我们的环境变量中。我们用下面这个方法将我们的dex2jar文件添加到我们的环境变量中去,当然也可以用其他方法设置环境变量。

这里写图片描述

当然为了方便,我把里面的d2j-dex2jar.sh直接换成了dex2jar.sh 这样方便我们使用
这样我们就可以在任何地方使用我们的dex2jar.sh了。

Android常用逆向工具总结(未完待续)_第7张图片

我们可以看见在我们的~/test文件的目录下面并没有我们的dex2jar文件

这个时候要运行这个dex2jar 解析classes.dex文件就可以这样:

dex2jar.sh classes.dex

注意:

运行脚本是有两种方式的:
Android常用逆向工具总结(未完待续)_第8张图片
Android常用逆向工具总结(未完待续)_第9张图片

所以我们要在任意目录下运行只需要将它所处的位置添加到环境变量中去,然后直接

script.sh 

就可以了。
如果你还要运行
sh script.sh 就会报错,因为它会在当前目录下找我们的脚本,如果脚本没有在这个目录下,那么显然是找不到的,就会报错。

这里写图片描述

注意:我们在哪个目录下使用我们的dex2jar.sh 命令,那么生成的 classes-dex2jar.jar 就会出现在那个目录下

老版的生成的是classes_dex2jar.jar 老版指的是2014年的那个发行版,现在的这个下划线变了下位置,我勒个去。。。。。
搞事情的赶脚


好的,今天就先分享到这里,我简直爱死我自己的电脑了,因为所有的设备到软件全部是我自己配置的,所有设置,连vim 都被我设置的超级吊,每次写代码都停不下来。哈哈哈。工欲善其事必先利其器,biubiu,我爱死我的枪了,biubiu~











Android常用逆向工具总结(未完待续)_第10张图片


想外公啊,很想,很想。
我妈说昨天外婆又哭了一晚上
说做外公家的媳妇很不容易,婆婆总是刁难
和外公走了这么多年不容易

我也很想他,很想,很想,很想很想

你可能感兴趣的:(【Android逆向分析】)