我希望比较两个exe文件。我应该确保服务器上的现有exe是我现在的代码的产物。
我正在使用
>dumpbin /rawdata oldfile.exe > oldfile.txt
>dumpbin /rawdata newfile.exe > newfile.txt
>fc /b oldfile.txt newfile.txt //compare them like this
>windiff oldfile.txt newfile.txt // or this
我猜他们应该只根据时间戳而不同。这些是来自visual studio 2003的VB.net exes。
有什么想法?
感谢。
答案 0 :(得分:5)
如果您要做的就是验证二进制文件是否相同,那么您可以使用md5sum或sha1sum等实用程序来有效地散列二进制文件。如果每个二进制文件的哈希值相同,则文件可能相同。
答案 1 :(得分:3)
Here's Reflector的加载项,可让您比较2个程序集之间的代码。
答案 2 :(得分:3)
我总是使用fc和/b
选项来比较两个exes(或任何二进制文件)。
答案 3 :(得分:0)
可执行文件内部有日期戳。 10年前写了一个PASS / FAIL程序用于构建备份过程,但从那以后丢失了代码。虽然容易做到。
我记得在检查构建日期戳位置的标题并忽略该地址后,它是一个直接的字节到块比较。