游戏安全实验室 首页 工具源码 查看内容

Android平台APKTool工具介绍

发布于:2016-2-24 10:13   |    232297次阅读 作者: 管理员    |   原作者: TP   |   来自: 原创

1、APKTool工具简述

介绍APKTool工具之前需了解什么是APK,APK全程为:Android Package,APK是Android平台下应用软件安装包文件的后缀名。APK文件采用Zip压缩算法,利用常规的解压软件(如:WinrRAR、7Zip等)可将APK文件解压。APK文件解压之后内部文件格式布局如下图所示:

解压之后需重点关注上图红框内容,“lib”目录下存储了Android平台Native层动态链接库文件(通常采用C、C++编写),文件为“.so”的后缀名。“classes.dex”文件包括Android平台应用层代码(通常采用Java语言编写),通常包含:界面功能、部分逻辑功能、通信功能等。

以上介绍APK文件概念及解压之后文件布局,APKTool可解压APK文件并反编译classes.dex代码、可重打包APK文件、可安装APK包等。读者可在http://ibotpeaches.github.io/Apktool/网站主页下载最新的APKTool工具,下载最新版本APKTool工具界面如下图所示:

 

目前APKTool最新版本为v2.0.3,点击“Details”可获取到对应版本APKTool工具说明,推荐读者使用最新版本的APKTool工具。下载完毕并解压之后APKTool文件目录如下所示:

apktool.bat文件内容如下图所示:

通过运行批处理文件便可执行相关功能。下面介绍APKTool工具反编译和重打包功能。

 

2、反编译APK功能

APKTool工具反编译APK文件命令格式如下:

Apktool.bat d <file.apk>  <dir>

测试文件在APKTool文件包中,输入如下命令:

    Apktool.bat d Test.apk,执行过程如下图所示:

反编译过程执行完毕之,APKTool工具根目录下会生成名字为Test文件夹,文件夹内容如下图所示:

    

其中需重点关注名字为“smali”文件夹,APK应用程序的classes.dex文件反编译之后代码保存在“smali”文件夹中,APKTool以Smali语法方式反编译classes.dex代码。读者可根据需求静态修改smali代码并实现相关功能。

 

3、重打包APK功能

APKTool工具提供了重打包APK文件功能,对应的命令格式如下:

Apktool.bat b <dir>

实际测试命令为:apktool.bat b Test

 以上将Test目录下的代码重打包为APK文件,APK文件生成在Test目录下的dist文件夹中,对应文件如下图所示:

 生成文件名默认与APK反编译之后生成的文件夹名字相同,上图生成APK名字为Test.apk。

4、工具下载链接

下载链接:http://apktool.shoujifans.com/


*转载请注明来自游戏安全实验室(GSLAB.QQ.COM)

分享到:
踩1 赞0

收藏

下一篇:Android平台ILSpy工具

最新评论
B Color Image Link Quote Code Smilies

发表评论

top 问题反馈

返回顶部