能力值:
( LV3,RANK:30 )
|
-
-
2 楼
签名: 1.将要签名的文件(pe.exe)进行数字摘要,得到一个hash值 2.使用私钥对hash进行加密(私钥加密俗称签名),得到密文 3.将密文和证书(不包含私钥)嵌入到pe.exe中 验证: 1.验证exe文件中的证书 2.计算文件的数字摘要(不包含嵌入的数据) 3.使用证书中的公钥解密签名,得到签名时的hash 4.比较两个hash即可确定是否被修改过 综上所述,pe文件签名依赖非对称加密算法提供安全性
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
Boring勇哥
签名:
1.将要签名的文件(pe.exe)进行数字摘要,得到一个hash值
2.使用私钥对hash进行加密(私钥加密俗称签名),得到密文
3.将密文和证书(不包含私钥)嵌入到pe.exe中
验 ...
验证是强制联网?(不上网的电脑也能运行exe和加载sys吧?). 如果不是联网验证, 把验证证书(第1步)和比较hash(第4步), 直接逆向修改返回值为“没被修改”, 不行吗?
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
你在这问还不如涉足一下呢,签名从算法原理上是在短时间内没有破解的可能,如果算力够也是可以正常破解的。其他hook方式就是非常规暴力破解了,这个也是可以的。
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
BeholdSnow
验证是强制联网?(不上网的电脑也能运行exe和加载sys吧?).
如果不是联网验证, 把验证证书(第1步)和比较hash(第4步), 直接逆向修改返回值为“没被修改”, 不行吗?
"验证是强制联网?(不上网的电脑也能运行exe和加载sys吧?)." 这你要把非对称加密算法过一遍 "如果不是联网验证, 把验证证书(第1步)和比较hash(第4步), 直接逆向修改返回值为“没被修改”, 不行吗?" 这个估计要修改win内核才能实现
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
guduzhe
你在这问还不如涉足一下呢,签名从算法原理上是在短时间内没有破解的可能,如果算力够也是可以正常破解的。其他hook方式就是非常规暴力破解了,这个也是可以的。
我说的就是这个. hook直接返回“验证无误”不行吗?为什么没人提到(没看到)? PS:不涉足. 一个人不可能什么都研究, 而且在技术论坛提问已经算乐学了, 世界上十万个为什么不可能每一个都亲历研究, 业内高手几句话就能给你点拨的疑问, 何乐而不为?毕竟人生问题无数, 大多数问题只想了解下缘由.
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
爱我佳鑫
"验证是强制联网?(不上网的电脑也能运行exe和加载sys吧?)."
这你要把非对称加密算法过一遍
"如果不是联网验证, 把验证证书(第1步)和比较hash(第4步) ...
3Q. 我也这样考虑过, 要修改Windows验证函数, 可能自己必须是驱动级, 就得先有一个“花钱买的有效证书并给驱动签名”, 那么既然已经花钱买了证书, 也没必要破解证书验证了
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
需要验证数字签名的一般是x64下的驱动程序,应用层的程序以及x86下的驱动一般是不校验数字签名的。所以hook直接返回验证无误是没有问题的,但是有需要这么做的情况是x64加载驱动;加载驱动时校验数字签名由内核完成,这种情况下的hook又需要借助驱动。所以x64下加载未签名的驱动,可以用已签名的驱动实现,这个技术几年前就有了。 签了数字签名的程序,是会定期联网验证的。 至于签名的破解,几年前有md5碰撞的,不知道是不是你所要描述的那种破解。之前我读过一篇文章,说是签了数字签名的程序,校验签名的时候,有一部分是不参与hash计算的,而不参与hash计算的这一部分,就可以被利用起来
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
签名验证算法即使是本地的,你想通过修改系统算法,让系统认为你的软件证书正确,想法没问题; 你是不是要先运行一次你的软件才能对系统进行修改呢?但使用者在运行你的软件前,他就可以验算你的程序是否合法。
|
|
|