我已经用C写的一个小应用程序++由单一的EXE文件。
我想提出在其“关于”对话框中的可执行文件本身的md5sum。 应该静态地嵌入到可执行文件(这样可以从十六进制编辑器中可以看出),而不是计算的飞行。
我已经用C写的一个小应用程序++由单一的EXE文件。
我想提出在其“关于”对话框中的可执行文件本身的md5sum。 应该静态地嵌入到可执行文件(这样可以从十六进制编辑器中可以看出),而不是计算的飞行。
由于两个@Shi&@matthewdaniel已经说了,这不能直接完成。
但是一对夫妇的解决方法是可能的:
这是不可能的。
如果您输入MD5散列成二进制,二进制会发生变化,所以MD5哈希值也会改变。 如果你创建一个新的,并尝试将其添加到二进制,二进制将再次发生变化。
所以,最好是把散成一个文件,读取文件,并显示其内容。
另一种方法可以创建二进制文件的MD5哈希值,然后将其追加到可执行文件。 为了获取价值,你读的二进制文件的最后32个字节,其显示为MD5。 当然,如果你创建完整的可执行的哈希值,它不会匹配哈希 - 你必须创建排除最后的32字节的可执行文件的哈希值。
如果存储的128位MD5哈希原始格式(而不是基地16基地256),您只需要16个字节。
只要你的MD5添加到该文件的文件将有一个不同的MD5。 有没有办法让文件本身的MD5。