APK Tools 使用详解

概述

APK Tools是一款对Android的.apk文件进行逆向工程的工具,包含功能如下:

  • 将资源解码为几乎原始的形式,比如 resources.arsc、classes.dex、9.png以及XML文件
  • 重建解码后的资源,打包进apk
  • Smali 调试功能

使用APK Tools需要对 Android SDK、AAPT 以及 mali 有所了解,涉及到的相关内容在本文中会有讲解


下载与安装

下载的官方文档放在项目github主页上,可以打开以下链接查看

https://ibotpeaches.github.io/Apktool/install/

首先我们查看一下java版本,win+R后输入cmd,然后输入以下指令查看java版本

java -version

1.8及以上的jdk版本都可以

如果没有,需要先安装一下,Java 8及以上都可以

接下来打开这个链接:https://ibotpeaches.github.io/Apktool/install/

在链接中找到这个地方

然后在这个链接上右键点击一下

选择"链接另存为",然后点击保存

接下来打开链接

https://bitbucket.org/iBotPeaches/apktool/downloads/

选择apktool_2.4.0.jar,点击下载

下载好后,将这个文件重命名一下,把后面的版本号去掉

完成后是这样的

接下来复制一下刚刚下载好的两个文件

放在这个目录下

C:\Windows

需要管理员权限,点击继续

接下来还是win+R,然后输入cmd打开命令行工具,并输入指令apktool

(注意:apktool后面没有s)

输入完成后回车,会出现apktool的使用帮助

至此,安装完成


.apk文件反编译

下载一个.apk文件,比如百度地图

并将其放到D盘的test目录下(如果没有可以新建一个)

回到cmd,刚刚的使用帮助里说了反编译的指令

因此,我们的指令就这么写

apktool d  d:\test\baiduditu_908.apk -o c:\test

上面指令的意思是,使用apk文件解码D盘test目录下的baiduditu_908.apk文件,输出的东西就放在C盘的test目录下

C盘的test目录不需要事先建好,它会自动创建的

我们可以看一下,刚刚生成的目录

 

(图片来源:https://blog.csdn.net/hacker_Lees/article/details/80244887

Android中的assets文件和res文件是不会被编译成二进制文件的,因此反编译后可以很好地复原

比如我们看一下res目录

随便打开几个

Android 中 .Java 文件,在 JVM 编译之后变成 .class 文件,然后再经过Android 的虚拟机 Dalvik,代码编译为 .smali 文件

smali 是另外一种语言,和汇编是有点像的,涉及寄存器操作

至此,apk tool 的用法差不多到这里了

apk tool 的主要用法就是可以查看res目录下的资源文件

如果没有学过.smali的语法等相关内容,那么那些smali文件是暂时没有办法使用的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值