我尝试使用makecert创建一个临时证书,并使用cert2spc从该证书创建一个spc。我用生成的SPC签名了一些exe。然后,我在VS 2008中使用二进制编辑器将exe中的某些位翻转(篡改了)。令我惊讶的是,我能够执行该应用程序。
我期望系统将检测到篡改并投诉。因此,这个问题。
任何指导将不胜感激。
最佳答案
不可以,因为二进制文件中用于检查签名的任何代码也可以被篡改。
我建议您获取一份IDA Pro的副本并分解其中的一个二进制文件。拥有原始汇编程序后,您可以使用十六进制编辑器编辑特定的操作码。简而言之,这是 cookies 社区使用的策略。我不相信会有任何方法可以阻止这种情况,ps3和xbox360都使用数字签名来保护其二进制文件,但这并不能阻止盗版。
关于security - 使用数字证书对程序集或exe签名是否可以确保其免受篡改攻击的侵害?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2236269/