使用apktool解压缩apk并重新打包

使用apktool解压缩apk并重新打包

使用apktool解压缩apk并重新打包

最近项目中遇到了反编译相关的问题,所以就了解了一下apktool

环境

mac 12.6

安装apktool

apktool是GOOGLE提供的APK编译工具,能够反编译及回编译apk,当然还有其他一些功能,咱就暂且不提了(主要我也没深入了解...)

下载地址

可以根据不同的操作系统按照页面介绍进行安装,我这里直接使用homebrew安装了

brew install apktool

在首次执行apktool命令的时候报错了 提示`@@HOMEBREW_JAVA@@/bin/java: No such file or directory似乎是没找到java

查询资料重新运行

HOMEBREW_BOTTLE_DOMAIN= brew reinstall apktool

安装成功之后执行apktool即可看到相关信息

反编译apk

执行命令

apktool d test.apk -o test

d是decode的简写

test.apk是当前要反编译的apk

-o是--output的简写,代表输出路径

test是输出目录,就是解压缩之后到的目录

运行命令截图

成功之后会生成test文件夹,文件夹内就是apk反编译后的文件

注意事项:

命令中不携带-o参数会直接在当前目录创建以apk名字为文件夹名的文件夹

命令中可以携带-f或者--force参数 强制删除目标文件夹,比如说在上面的例子中我第二次执行

apktool d test.apk -o test 会报错(提示目标文件夹已经存在)

可以根据说明执行

apktool d -f test.apk -o test ,这样会先清空test文件夹然后在执行decode的过程

回编译apk

执行命令回编译apk

apktool b test

命令说明b是build的简写

执行完成之后会在当前打包的文件夹生成一个dist文件夹,打包的apk就在里面

注意:这样打包出来的apk是不能安装的因为没有签名,如果想要使用的话还需要apk文件进行签名

参考资料

apktool官网

homebrew报错@@HOMEBREW_JAVA@@/bin/java: No such file or directory

homebrew报错@@HOMEBREW_JAVA@@/bin/java: No such file or directory

黄金推荐

Java工程师是干啥的?看完这篇你就懂了!
beat365手机客户端下载

Java工程师是干啥的?看完这篇你就懂了!

✨ 07-27 💎 价值: 2625
黄豆长什么样子的
beat365手机客户端下载

黄豆长什么样子的

✨ 06-30 💎 价值: 2844
鸭肫煮多久?怎么做?
365bet娱乐

鸭肫煮多久?怎么做?

✨ 08-18 💎 价值: 7710