首页 > 解决方案 > 如何自我校验工作?

问题描述

我的问题如何自我校验工作并在文件内存中检测自己的校验和并检查是否可执行修改终止应用程序?像商业exe保护器vmprotect pelock theida等。以及如何使用算法以及如何将校验和嵌入到自己的可执行文件中并检测是否被修改?如何工作?例如检查二进制可执行文件的 md5 或 crc32 自校验和对不起我的英语不好;)谢谢!

标签: c++assembly

解决方案


我认为尝试将校验和或哈希直接放入可执行文件中存在问题。这种方法意味着在确定可执行文件/二进制文件的校验和/哈希时将考虑校验和/哈希。您无法在不影响二进制/可执行文件的结果哈希/校验和的情况下对校验和/哈希进行编码。

在不了解您的情况的更多详细信息的情况下,您可能希望将二进制文件的哈希存储在您尝试计算校验和/哈希的事物之外(例如,在服务器外部或位于相对于可执行文件的文件中, ETC。)。您在构建程序后计算此哈希。然后,您的程序在启动时可以将自己定位在磁盘上并计算自身的哈希值并与外部存储的哈希值进行比较。

抱歉,如果这作为评论会更好,但我没有代表发表评论。


推荐阅读