Android(APK)反编译之重新打包签名

重新打包

上一篇文章讲述了反编译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


至此收工偷笑


猜你喜欢

转载自blog.csdn.net/niu9799/article/details/80524367