apktool的下载配置
apktool网站
- 下载脚本,下载脚本,保存为apktool
- 下载最新版apktool.jar
- 将下载的jar包重命名为apktool.jar
- 配置环境变量
-
两种方案任选一种
- 将apktool和apktool.jar移到/usr/local/bin目录
- 在~/.bash_profile文件下配置,首先新建apktool文件夹,将两个文件放到这个文件下(使用zsh的需在.oh-my-zsh目录,或.zshrc配置),打开终端,输入一下命令:
vim ~/.bash_profile export PATH=前面路径/apktool:$PATH source ~/.bash_profile
- 将两个文件权限设置为可执行
sudo chmod a+x file
-
以上就配置好了apktool
在终端输入apktool,显示版本信息及使用表示安装完成
使用apktool实现反编译和回编译
以test.apk为例
- 反编译
- 终端输入
apktool d test.apk -o test
后会生成一个test文件夹,里面我们可以看到可读的AndroidManifest.xml文件以及资源文件和smali code代码
反编译
smali code代码对应的就是java代码,可读性已经非常高,这里可以对smali文件做直接修改,后面会介绍一些看到java代码的工具,在这配合使用,完成可以实现对代码的修改
- 回编译
- 终端输入
apktool b test -o new_test.apk
即可生成new_test.apk新的apk
重签名
我们对apk实现回编译后,是没法直接使用的,需要重新签名,我们用压缩软件对 new_test.apk 直接解压缩,将“META-INF”文件删除,然后压缩回去,用签名工具进行签名(工具自行查找),然后压缩回去,改后缀为.apk,就可正常安装使用了
apktool打包 最新版自行下载