首页
社区
课程
招聘
[原创]APKV1签名能否篡改?
发表于: 2020-12-29 16:59 4464

[原创]APKV1签名能否篡改?

2020-12-29 16:59
4464

签名原理我就不陈述了,资料很多
00-APK签名文件
META-INF/CERT.RSA
META-INF/CERT.SF
META-INF/MANIFEST.MF
三个文件的关系、
MANIFEST.MF -> CERT.SF -> CERT.RSA

 

MANIFEST.MF文件:记录文件中的每个条目内容做一次SHA1然再加Base64编码
MANIFEST.MF

 

CERT.SF文件:SHA1-Digest-Manifest”属性值是MANIFEST.MF文件的整体SHA1值,再经过BASE64编码
逐条计算MANIFEST.MF文件中每一个块的SHA1,并经过BASE64编码后,记录在CERT.SF中的同名块中,属性的名字是“SHA1-Digest。
CERT.SF

 

CERT.SF文件, 用私钥计算出签名, 然后将签名以及包含公钥信息的数字证书一同写入 CERT.RSA文件。

 

可以说MANIFEST.MF和CERT.SF文件和签名没关系、如果修改apk内容不更新签名、可以很容易更新这两个文件信息、麻烦的是CERT.RSA文件。CERT.SF文件使用私钥计算出签名, 然后将签名以及包含公钥信息的数字证书一同写入 CERT.RSA文件中、重点是128值无法逆向计算出来。从密码学角度来看、理论上能够逆向出来、但是微乎其微。
那么能逆向出来、可以说签名就很容易被破解了、不改变签名值的情况下就能更新Apk。

 

APK安装包能够提取出签名证书?
不说.keystore文件了、可以转换成pk8 + x509.pem
只要有二个文件就能签名、.pk8(包含私钥)文件 + .x509.pem(包含公钥)文件。也可以有.sbt
签名是拿私钥去加密、公钥来解密。
提取工具
自己写了一个程序从apk包提取证书,但是不能破解出私钥(pk8)文件。
从apk提取出文件
pem内容
只能提取出x509.pem与.sbt还缺少.pk8。


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

最后于 2020-12-29 17:02 被Gnoliew编辑 ,原因:
收藏
免费 1
支持
分享
最新回复 (7)
雪    币: 47
活跃值: (418)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
2
没看懂lz问啥,说一下关于签名的吧:
- 不改变签名更新 apk 是可以的。v1 计算的是 zip 结构的中的具体文件,不包括文件夹,也不包括签名目录下的其他非签名文件(最开始貌似利用这一点打渠道信息),而且apk 文件中不属于zip结构的数据块,就可以更改,因为这个性质,市场上有很多不重签名打渠道包的工具,比如美团的 walle(walle刚推出来是应对v2签名的貌似?),也正因为这个性质,后面发生了janus 签名漏洞,google 在 7.0系统(还是6.0?)紧急推出了 v2 版本的签名
2020-12-31 17:58
0
雪    币: 26
活跃值: (1305)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
GeneBlue 没看懂lz问啥,说一下关于签名的吧: - 不改变签名更新 apk 是可以的。v1 计算的是 zip 结构的中的具体文件,不包括文件夹,也不包括签名目录下的其他非签名文件(最开始貌似利用这一点打渠道信 ...
v1 在安装时候  系统会拿公钥 验证 CERT.RSA末尾hex长度为128是使用私钥签名后获取的Hash值,文件动过 系统在第一验证MANIFEST.MF 就不通过了,我是想不出怎么来修改apk能够保留原来签名的。除修改系统,或者使用什么代理达到破解
2021-1-1 22:48
0
雪    币: 47
活跃值: (418)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
4
Gnoliew v1 在安装时候 系统会拿公钥 验证 CERT.RSA末尾hex长度为128是使用私钥签名后获取的Hash值,文件动过 系统在第一验证MANIFEST.MF 就不通过了,我是想不出怎么来修改apk能 ...
如果你指的是直接修改原 dex 不破坏v1签名是不行的,janus 签名漏洞可能是你想要的
2021-1-4 09:56
0
雪    币: 7
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
5
要是能改apk不动签名,Google还有必要设置这个签名验证吗?应用层面完全不可能做到!
2021-1-4 16:39
0
雪    币: 2932
活跃值: (6686)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6

楼主注意看图片画框的地方  在zip格式的数据结构里 record 里面会记录文件压缩的crc、大小和压缩时间等信息 

https://www.163.com/dy/article/D7O3TVF00511CJ6O.html

最后于 2021-1-4 18:23 被微启宇编辑 ,原因:
2021-1-4 18:22
0
雪    币: 26
活跃值: (1305)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
感谢指点
2021-1-8 22:40
0
雪    币: 26
活跃值: (1305)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
Gnoliew 感谢指点
GeneBlue
2021-1-8 22:41
0
游客
登录 | 注册 方可回帖
返回
//