security - 使用数字证书对程序集或exe签名是否可以确保其免受篡改攻击的侵害?

标签 security digital-certificate tampering

我尝试使用makecert创建一个临时证书,并使用cert2spc从该证书创建一个spc。我用生成的SPC签名了一些exe。然后,我在VS 2008中使用二进制编辑器将exe中的某些位翻转(篡改了)。令我惊讶的是,我能够执行该应用程序。

我期望系统将检测到篡改并投诉。因此,这个问题。

任何指导将不胜感激。

最佳答案

不可以,因为二进制文件中用于检查签名的任何代码也可以被篡改。

我建议您获取一份IDA Pro的副本并分解其中的一个二进制文件。拥有原始汇编程序后,您可以使用十六进制编辑器编辑特定的操作码。简而言之,这是 cookies 社区使用的策略。我不相信会有任何方法可以阻止这种情况,ps3和xbox360都使用数字签名来保护其二进制文件,但这并不能阻止盗版。

关于security - 使用数字证书对程序集或exe签名是否可以确保其免受篡改攻击的侵害?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2236269/

相关文章:

.net - PublicKeyToken 和公钥有什么区别?

c# - 使用 ValidateRequest ="false"来规避 "A potentially dangerous Request.Form value was detected"的安全隐患是什么?

ruby-on-rails - 与 2 个 Rails 应用程序共享一个 OAuth token

php - 在php文件中包含一个网站

.net - 从 .Net MQ 客户端的 Windows 证书存储中获取时的证书标签

asp.net - 如何在 Windows 上篡改源 IP 地址

java - .keystore 文件是在 https 上移动我的 Web 应用程序时生成的吗?

digital-certificate - 如何检查文件是否具有数字签名

database - 检测数据库篡改,可能吗?

mono - 篡改程序集时,为什么无法删除原始指令?