重新打包
上一篇文章讲述了反编译apk
还是apktool工具
反编译
apktool d(反编译 ) xxx.apk(待反编译的apk)
反编译后生成一个新文件夹
接下来重点来了如何对修改后的文件进行重新打包
apktool b(是对修改后的文件重新打包 ) xxx(文件夹)
如果没有错误的话就会生成dist文件夹里面有一个新的apk文件
扫描二维码关注公众号,回复: 1787019 查看本文章
这个时候我们已经得到了apk文件,注意这个时候,因为没有签名文件,apk是无法安装的
签名
签名是对要发布的apk文件作标记,确保你的apk文件有唯一的身份归属认证,只有相同签名和相同包名的文件才可以覆盖安装并保留用户信息。
对于反编译的apk,我们可以通过jarsigner来对它进行签名。
生成keystore文件
首先,签名需要keystore文件,可以使用keytool工具生成,一般Java环境都带有keytool命令,可以在命令行测试。
keytool -genkey -alias signature.keystore -keyalg RSA -validity 50000 -keystore signature.keystore
各个参数解释如下:
-genkey 产生证书文件
-alias 产生别名
-keystore 指定密钥库的.keystore文件中
-keyalg 指定密钥的算法,这里指定为RSA(非对称密钥算法)
-validity 为证书有效天数,这里我们写的是50000天
操作生成一个新的签名文件(文件位置是为操作指令所以位置 如:C:\Users\Administrator)
为了操作方便我们可以把待签名apk和签名文件放同一个目录下
对apk文件进行签名
jarsigner -verbose -keystore signature.keystore lightTest.apk signature.keystore
至此收工