首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

为啥每次编译之后计算MD5都不相同

2013-08-04 
为什么每次编译之后计算MD5都不相同?代码完全不变,重新编译,每次出来的的文件MD5都不一样。我用UE的2进制比

为什么每次编译之后计算MD5都不相同?
代码完全不变,重新编译,每次出来的的文件MD5都不一样。

我用UE的2进制比较工具比较了一下,除了PE头中的时间戳和校验和2处不同之外,在很后面的地方还会有2处不同,我本来想做个工具判断2个exe是否是同一个代码编译出来的,可是遇到这样的问题后发现没法简单判断了。
求高手,这后面哪块莫名奇妙的不同之处是怎么造成的?
[解决办法]
换个编译选项, 换个编译器更加不同了, 如何去判断是否同一份代码生成的...
你试试只比较代码段, 和数据段, 其它地方的差别就别管了.
[解决办法]
编译链接得到的EXE和DLL文件,除了数据段和代码段以外,在特定地方还保存了编译程序、链接程序运行产生的一些信息。这些信息不是固定不变的。
[解决办法]

引用:
我编译的是RELEASE版的

本来想做个简单的判断,看来这下要彻底研究PE文件格式才行了啊

确实了,里面还是有很多别的信息的。

热点排行