Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Security 使用数字证书对程序集或exe进行签名是否会使其免受篡改攻击?_Security_Digital Certificate_Tampering - Fatal编程技术网

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

Security 使用数字证书对程序集或exe进行签名是否会使其免受篡改攻击?,security,digital-certificate,tampering,Security,Digital Certificate,Tampering,我尝试使用makecert创建临时证书,并使用cert2spc从证书创建spc。我用生成的spc对一些exe进行了签名。然后,我在VS2008中使用二进制编辑器来翻转exe中的一些位(对其进行了篡改)。令我惊讶的是,我能够执行这个应用程序 我希望系统能够检测到篡改并进行投诉。这就是问题所在 欢迎提供任何指导。否,因为用于检查签名的二进制代码也可能被篡改 我建议您获取一份IDA Pro并反汇编一个二进制文件。拥有原始汇编程序后,可以使用十六进制编辑器编辑特定的操作码。简而言之,这是cracker社

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

我希望系统能够检测到篡改并进行投诉。这就是问题所在


欢迎提供任何指导。

否,因为用于检查签名的二进制代码也可能被篡改


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

谢谢你的回复。我想知道数字签名能够经受什么样的篡改攻击。我在给二进制文件分配签名方面是否做错了什么。我这样做只是为了学习。学习是很棒的,我完全支持。这种情况下的问题是,攻击者完全控制系统,他拥有计算机、处理器和二进制文件,因此作为软件开发人员,您没有控制权。数字签名非常有效的地方是在网络通信中。如果没有数字签名,为HTTPS供电的SSL/TLS是不可能的。不同之处在于,攻击者在外面监视两个希望以安全方式通信的人。