重新打包

上一篇文章讲述了反编译apk

还是apktool工具

反编译

 apktool d反编译 )  xxx.apk(待反编译的apk)

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

反编译后生成一个文件夹

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

接下来重点来了如何对修改后的文件进行重新打包

apktool b(是对修改后的文件重新打包 ) xxx(文件夹) 

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

如果没有错误的话就会生成dist文件夹里面有一个新的apk文件Android(APK)反编译之重新打包签名


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

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

这个时候我们已经得到了apk文件,注意这个时候,因为没有签名文件,apk是无法安装的Android(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天

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

操作生成一个新的签名文件(文件位置是为操作指令所以位置 如:C:\Users\Administrator)

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

为了操作方便我们可以把待签名apk和签名文件放同一个目录下

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

对apk文件进行签名

jarsigner -verbose -keystore signature.keystore lightTest.apk signature.keystore

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

至此收工Android(APK)反编译之重新打包签名


相关文章: