美文网首页
对未签名的 APK 重签名

对未签名的 APK 重签名

作者: 半人前 | 来源:发表于2017-01-18 15:43 被阅读692次

在对某个 APP 进行逆向时,最后一步将修改应用到 APK 中往往会生成未签名的 APK,而 Android 要求每个 APK 都必须要有签名才能被安装,因此我们需要对未签名的 APK 进行签名

1. 生成数字证书

在 keytool 所在的文件夹下(通常是 C:\Program Files\Java\jdk1.8.0_101\bin 之类的)以管理员身份执行如下命令

生成数字证书

-keystore  reverse_engineer.keystore 表示生成的数字证书的文件名为 "reverse_engineer.keystore";

-alias  rekeystore 表示证书的别名为 "rekeystore",可以与 keystore 一样;

-keyalg RSA 表示生成密钥文件所采用的算法为 RSA;

-validity 10000 表示该数字证书的有效期为10000天,意味着10000天之后该证书将失效;

然后根据提示输入密钥、地区等信息。最终,这条命令将生成名为 reverse_engineer.keystore 的数字证书

2. 重签名

将数字证书拷贝到需要签名的 apk 的目录下,在 jarsigner 所在的文件夹下(通常是 C:\Program Files\Java\jdk1.8.0_101\bin 之类的)以管理员身份执行如下命令执行如下命令

-keystore 表示使用当前目录中的 reverse_engineer.keystore 签名证书文件;

-storepass 密钥口令;

-signedjar crackme02_release.apk表示签名后生成的APK名称;

crackme02.apk 表示未签名的APK;

rekeystore 表示 reverse_engineer.keystore 的别名

3. 重新安装 APP

如果你不是被逆向的 APP 的作者,那么你重签名时使用的私钥在绝大多数情况下不会和逆向前的 APP 相同。在 Android 的安全策略下,这样的 APP 是不能被安装的,因此需要将之前的 APP 卸载掉,才能将重新打包后的 APK 重新安装到 Android 设备上

参考文章:

Android反编译(三)之重签名

相关文章

网友评论

      本文标题:对未签名的 APK 重签名

      本文链接:https://www.haomeiwen.com/subject/qtlvbttx.html