我刚刚为我的应用程序完成了我的第一次代码签名,感谢来自Jeff Wilcox's blog的帮助,以及他的逐步说明,我能够在不到36小时内完成整个过程。小时。但现在我开始想知道为什么我花了这笔钱,因为我无法看到它如何帮助软件发行商:
有些黑客试图通过逆向工程和修改代码来破坏程序中的保护机制。但是签名文件并不能防止这种情况发生,他们仍然可以随意修改文件的内容。
有时一些反病毒程序可能会错误地认为我的.exe文件包含病毒。对文件进行签名也无济于事。
代码签名只能告诉用户这个文件来自我,但他们仍然不知道我是好人还是坏人。所以它也无助于用户。
我的结论是代码签名并非旨在帮助软件发布商或用户。它只试图跟踪文件来自何处,如果它包含病毒,人们就知道是谁种植了它,就是这样! (只有当黑客无法将病毒捎带到签名的.exe文件中时才会出现这种情况。)
我的问题是:我的理解是否正确?还是我错过了什么?谢谢。
答案 0 :(得分:5)
签名确认代码的真实性,即这是您发布的 代码,并且一直没有被篡改。这与愚蠢的代码保护无关,它可以保护用户免受冒充软件的侵害 - 图像中的单字节修改会使签名无效。信任是一个完全不同的事情(AV扫描仪可能信任签名的可执行文件比普通的无符号文件更多,但它与AV供应商讨论的内容。)