赞
踩
1.apk解压后的目录结构
首先我们找一个已经签名的apk文件,修改后缀名为zip,然后解压。可以看到里面有一个META-INF文件夹,里面就是签名验证的文件。有三个文件MANIFEST.MF、CERT.SF、CERT.RSA分别保存着不同的签名信息
CERT.RSA:存放着公钥证书
2.查看公钥证书
将CERT.RSA 后缀名修改为p7b, 然后双击CERT.p7b---》点击逻辑存储名---》点击证书---》双击颁发给--》详细信息---》公钥 即可得到公钥信息(此处显示的是16进制)
3.获取预置到设备里的公钥证书,比如 LZ.cer (PEM格式) 数据以Base64表示
4.解析CERT.RSA文件的公钥
1. 在C:\Program Files\Java\jre1.8.0_201\lib目录下找到rt.java包,放进项目libs下
2.在dependencies下加入 compileOnly files('libs/rt.jar')
3.获取公钥
5.如果是高版本,比如Android10,需要在第3步的前面增加反射方法,才能使用
6.比较证书。比较签名文件 CERT.RSA里的公钥证书和预置到设备里的公钥证书 LZ.cer(PEM格式)是否相等。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。