查看判断APK文件的签名信息
根据APK安装包,可以查看所使用的签名信息。
判断使用了哪些签名
能够使用指令
1 | apksigner.bat verify -v xxx.apk |
如图:
由上图可以看出,该apk仅使用了V2签名方案签名。
(PS. apksigner.bat通常所在路径为Sdk\build-tools\xx.x.x\)
apksigner.bat脚本,可替换为
1 | java -jar apksigner.jar |
其中apksigner.jar所在路径为Sdk\build-tools\xx.x.x\lib
一个简单的通过META-INF/.SF文件区分apk是V1还是V2签名的方法如下:
如果.SF文件抬头包含X-Android-APK-Signed: 2,则表明该apk是V1和V2混合签名;
如果.SF文件抬头不包含X-Android-APK-Signed: 2,则表明该apk是纯V1签名;
如果连.SF文件都没有,则表明该apk是纯V2签名;
查看V1签名方式的签名信息
V1签名是一种JAR方式签名,特点之一便是apk包中包含,META-INF\XXX.RSA,或者.SF文件
针对使用V1签名方式的apk,可以使用以下指令获取签名信息
1 | keytool -printcert -jarfile xxx.apk |
查看V2签名方式的签名信息
针对仅使用V2签名方式的apk,可以使用以下指令获取签名信息
1 | apksigner.bat verify --print-certs xxx.apk |
如图:
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 智未开笔记!