我用 C++ 编写了一个由单个 EXE 文件组成的小应用程序。
我想在它的“关于”对话框中放入可执行文件本身的 md5sum。它应该静态嵌入到可执行文件中(以便可以从十六进制编辑器中看到),而不是动态计算。
最佳答案
正如@Shi 和@matthewdaniel 已经说过的,这不能直接完成。
然而,有几个解决方法是可能的:
- 计算您的应用程序的 MD5,并将您的可执行文件打包到一个容器应用程序中,容器应用程序将简单地提取它并检查它的 MD5
- 编译您的代码并仅散列代码段或其他段(数据除外),然后添加 MD5 校验码。这将起作用,因为 MD5 字符串将存储在数据段中,从而保持任何其他内存段有效的预先计算的哈希值的有效性。
关于c++ - md5sum 包含总和本身的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7053701/