如何使程序编译后的Hash码都一样??

budded 2008-06-13 01:04:55
程序代码没有修改过,但每次编译出来的程序Hash码都不一样,
估计是文件修改时间等信息被写入程序,Delphi有没有选项能让这个时间不编译进程序呢?

同一个程序两次编译后用FC比较的结果:
正在比较文件 About.dll 和 A.DLL
00000108: 74 54
00000109: E8 E3
0000A204: 13 57
0000A205: 5B 58
0000A224: 13 57
0000A225: 5B 58
0000A264: 13 57
0000A265: 5B 58
0000A27C: 13 57
0000A27D: 5B 58
0000A294: 13 57
0000A295: 5B 58
0000A2AC: 13 57
0000A2AD: 5B 58
0000A2C4: 13 57
0000A2C5: 5B 58
0000A2DC: 13 57
0000A2DD: 5B 58
0000A2F4: 13 57
0000A2F5: 5B 58
0000A30C: 13 57
0000A30D: 5B 58
...全文
127 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
DarknessTM 2008-06-13
  • 打赏
  • 举报
回复
可能使用了某种不确定的优化策略
budded 2008-06-13
  • 打赏
  • 举报
回复
继续顶!
ly_liuyang 2008-06-13
  • 打赏
  • 举报
回复
等俺做啥?
用日Compare发现,手动替换即可
jameshooo 2008-06-13
  • 打赏
  • 举报
回复
要问编译器才知道是否写了‘私密’信息,或者代码中使用了如下的宏也会导致编译结果不同:
__DATE__
__TIME__
__TIMESTAMP__

Delphi就更不清楚了。
cppwin 2008-06-13
  • 打赏
  • 举报
回复
我曾经发现这个问题,每次编译的目标文件都有不同,
在固定位移的某些字节每次都会"随机"变化,
只要将多次的结果做二进制比较,就可以发现.
我不认为它是时间信息.更有可能是数字水印(纯属猜测)
ouyh12345 2008-06-13
  • 打赏
  • 举报
回复
帮顶

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧