使用数字证书对程序集或 exe 进行签名是否可以使其免受篡改攻击?

发布于 2024-08-21 02:36:51 字数 186 浏览 12 评论 0原文

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

我原以为系统会检测到篡改并提出投诉。因此就有了这个问题。

任何指导将不胜感激。

I tried creating a temporary certificate using makecert and creating a spc from the certificate using cert2spc. I signed some exe with the generated spc. I then use the binary editor in VS 2008 to flip some bits (tampered it) in the exe. To my surprise I was able to execute the application.

I was expecting that the system will detect the tampering and will complain. Hence the question.

Any guidance would be appreciated.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

冷血 2024-08-28 02:36:51

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

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

No, because any code in the binary to check the signature can also be tampered with.

I recommend obtaining a copy of IDA Pro and disassembling one of your binaries. After you have the raw assembler you can edit specific opcodes using a hex editor. In short, this is the tactic that the cracker community uses. I don't believe that there will ever be a way to stop this, the ps3 and xbox360 both use digital signatures to protect their binaries, but this doesn't stop piracy.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文