发布于: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/ |
最新评论
发表评论