我不太清楚它通常是怎么工作的,所以请告诉我在哪里挖掘。
我需要创建一个防篡改的应用程序安装文件。基本上,如果由于某种原因设置文件发生了更改,它会告知并阻止任何进一步的安装。
它是如何工作的?我认为这与md5散列有关。
可以将这些东西嵌入到CustomActions installer模块中吗?
发布于 2010-07-21 08:50:03
如果您只需要验证.exe文件是否正确分发,那么在您自己编译该文件之后,计算该文件的md5散列,然后让用户在获得该文件的散列副本时对其进行比较。如果散列匹配,则文件应该是未损坏的。
要计算文件的哈希值,请查看this tutorial。我还没有亲自使用过它,但它看起来对你来说应该是一个好的开始。
发布于 2010-07-21 04:39:07
这是不可能的。当然,你可以散列安装包的一部分。但是你需要有另一个部分来检查散列,这是可以修改的。这已经被反复尝试过了,而且每次都会因为这个缺陷而被破坏。
您可以很容易地检测到意外损坏,但这与防篡改不是一回事。
发布于 2010-07-21 05:37:45
如果我没记错的话,VS2010安装包创建了一个InstallShield安装包。您要做的是对该包进行数字签名。
所以你需要做什么来满足你的目标: 1)弄清楚实际的安装应用程序是什么。如果你使用的是VS,这很可能是InstallShield,除了InstallShield,还有其他选择。2)使用该工具构建安装包的过程3)阅读install builder应用程序中的说明,了解如何对其包进行签名
您可能需要从像Verisign这样的安全供应商那里购买验证。未经验证的签名文件并不比签名文件好多少。
这是安装包自我验证的最可靠方法。
下一个最好的选择是校验文件(通常是MD5),并建议安装您的软件的人在运行之前对照他们拥有的文件进行检查。
https://stackoverflow.com/questions/3294165
复制相似问题