记录一下Android逆向拆包编译打包与重新签名的过程,之前一直用的是jadx查看apk的代码以及修改一些jar包后重新打包成jar 包(我记得当时通过修改一点点穿山甲广告的jar包权限配置来适配项目和设备);但是如何直接对某一个具体的apk进行反编译后修改某些小功能后然后再重新打包呢,这个jadx是做不到的,要用到apktool 工具;
1.准备环境:
- java 开发环境,这个一般开发的都知道的,下载JDK然后配置环境变量;
- 准备好一个签名文件(这个应该也是不难的,你也可以用你已知的)
- 下载apktool工具
2.逆向拆包编译打包与重新签名
环境准备好之后,开始Android逆向拆包编译打包与重新签名.
其实这个过程还是很简单的,主要分三步:
- 打开cmd命令窗口或者Windows PoweShell窗口,输入
java -jar .\apktool_2.8.1.jar .\apktool_2.8.1.jar d .\test.apk
apktool_2.8.1.jar 是我们下载的工具, 后面的 d 然后是你要拆包的apk
这一步的作用是 拆包这个apk,会生成同名的文件夹,我们可以看到文件夹里的内容和我们一般通过开发工具或者apk后缀变为zip包后的文件差不多,这个就是拆包,然后删除签名文件 META-INF文件夹;在这个文件夹里你可以进行改动了;汉化,界面什么的
(注:已删除签名文件)
- 删除签名文件后重新打包成apk
java -jar .\apktool_2.8.1.jar b .\test\ -o test2.apk
-o 表示的是输出成test2.apk文件,这个
- 给生成的apk文件签名
jarsigner -verbose -keystore .\***.jks -signedjar testSign.apk .\test2.apk keyAlias
testSign.apk 表示的是签名之后的apk,keyAlias 表示的是你用的***.jks签名文件对应的keyAlias对应的内容,确定之后会让你再输入一遍密码,然后就可以生成一个签名的apk了,可以拿来去用了.
以上内容仅供参考;