作者: 我是菜鸟
查看: 6164|回复: 3
打印 上一主题 下一主题

[求助] 同一份源码,连续编译两次,对比二进制文件,内容不一致

[复制链接]
跳转到指定楼层
楼主
查看: 6164|回复: 3
本帖最后由 我是菜鸟 于 2017-7-22 23:50 编辑

一、准备工作打开vs,以 vs2010为例。新建一个控制台程序,使用默认设置(工程名称 ConsoleApplication1)。编译 release,生产 exe 文件,文件名称为ConsoleApplication1.exe,备份改文件,重新编译该工程,重新生词ConsoleApplication1.exe。

二、使用Beyond Compare 比较两个 exe 文件。查看比较结果,发现有两处不一致的地方。
1、第一处

按照 pe 文件结构来看,该处的不同为TimeDateStamp,时间戳,两次编译的时间不一样,所以该字段也不一样
1、第二处

该处为什么不一样?按照相同代码,在相同的环境进行编译,除了时间不一样以外,其他的应该都一样?
最近在公司利用 C#写了一个程序,现在发布版本,到时候需要回溯软件。要求同一份代码,编译出来的 exe 需要保持一致,如果不一致,则认为软件有改动。该问题已经困扰两天。求教各位大神,非常感谢 orz!!!

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播
回复 论坛版权

使用道具 举报

地板
轩墨玉生烟 发表于 2017-8-5 00:02:34 | 只看该作者
如果两次校验的MD5相同,那么说明没有任何改动,否则就存在改动,另外,将文件复制到其他路径(且不修改文件名的情况下)也不会影响MD5校验的结果。
板凳
轩墨玉生烟 发表于 2017-8-5 00:01:16 | 只看该作者
不需要这么麻烦,直接校验MD5就可以看出来了
沙发
sisuo366 发表于 2017-7-24 21:05:53 | 只看该作者
不会是文件的名称吧。。。另一个多了副本两个字
您需要登录后才可以回帖 登录 | 加入CSkin博客

本版积分规则

QQ|申请友链|小黑屋|手机版|Archiver|CSkin ( 粤ICP备13070794号

Powered by Discuz! X3.2  © 2001-2013 Comsenz Inc.  Designed by ARTERY.cn
GMT+8, 2024-11-22 13:22, Processed in 0.693265 second(s), 32 queries , Gzip On.

快速回复 返回顶部 返回列表