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

如题所述

建议你学习一下PE文件(通常的exe可执行文件就是一种PE文件)结构 其中由一个时间日期段 记录了PE文件被创建的时间 每一次编译的时间不同 因此此段的内容也不同 因此最终生成的文件内容有差异 继而md5码有异 附: PE部分结构C语言描述: typedef struct _IMAGE_FILE_HEADER { WORD Machine; WORD NumberOfSections; DWORD TimeDateStamp;//这里就是时间日期戳了 是链接器产生的时间 DWORD PointerToSymbolTable; DWORD NumberOfSymbols; WORD SizeOfOptionalHeader; WORD Characteristics; } IMAGE_FILE_HEADER, *PIMAGE_FILE_HEADER; 下图在一个具体的可知性文件中标示了此段的位置:
温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网