APK反编译、重打包、签名之apktool实现

时间:2024-03-17 11:00:14

1.下载apktool

https://download.csdn.net/download/qq_25844803/10842372
(点一下,爽一年,我是渣渣辉)

2.准备环境

将解压出来的apktool.bat和apktool.jar放到同一个文件夹下(如:C:\apktool)
将需要反编译的APK也放在该文件夹下
APK反编译、重打包、签名之apktool实现

3.进入CMD

打开cmd,进入到apktool所在文件夹
APK反编译、重打包、签名之apktool实现

4.反编译APK

反编译命令:

apktool  d  TestPrint.APK

效果如图所示:
APK反编译、重打包、签名之apktool实现
进入apktool所在的文件夹,可见多出一个文件夹TestPrint.APK.out,如图所示
APK反编译、重打包、签名之apktool实现
至此,反编译成功

5.修改文件

根据需求修改TestPrint.APK.out文件夹里的内容。
修改完毕后,为方便第6步重打包,将原来的TestPrint.APK删除,
将TestPrint.APK.out文件夹重命名为TestPrint。
APK反编译、重打包、签名之apktool实现

6.重新打包成为APK

重打包命令:

apktool  b  TestPrint

效果如图所示:
APK反编译、重打包、签名之apktool实现
重打包完毕后,打开TestPrint\dist文件夹,就可以看到新的APK
APK反编译、重打包、签名之apktool实现
为方便后续操作,将此APK复制粘贴到apktool文件夹下
APK反编译、重打包、签名之apktool实现

7.生成keystore

Keystore生成命令:

keytool -genkey -alias abc.keystore -keyalg RSA -validity 20000 -keystore abc.keystore

如果出现乱码,如下图。
APK反编译、重打包、签名之apktool实现
此时,可退出cmd,再重新进入cmd,定位到apktool文件夹,生成keysotre。
APK反编译、重打包、签名之apktool实现
接下来按照自己情况输入相关信息
APK反编译、重打包、签名之apktool实现
此时,apktool文件夹下就会看到一个abc.keystore文件
APK反编译、重打包、签名之apktool实现

8.签名

签名命令:

jarsigner -verbose -keystore abc.keystore -signedjar TestPrint_1.apk TestPrint.APK abc.keystore

如果出现下图所示的错误,请检查环境变量中的JDK(or JAVA_HOME)是否配置正确
APK反编译、重打包、签名之apktool实现
正常情况,应该是以下情况,输入之前填写的密码
APK反编译、重打包、签名之apktool实现
输入正确后,开始签名
APK反编译、重打包、签名之apktool实现
此时,签名完毕,apktool文件夹下出现新的APK–>TestPrint_1.apk
APK反编译、重打包、签名之apktool实现
至此,apk反编译,修改文件,重打包,签名全部完成。可以将此apk安装到手机查看结果。