Re: Comparing two EXEs



Bob wrote:

I know this is slightly technical, but I couldn't decide which group to
drop it in.

When we make builds of our products, our QA department wants to check
the executables to ensure that the ones that were not supposed to
change in fact did not change. So they do a byte compare of the new
release with the last release.  Unfortunately, when we build, we
recompile all EXEs.  There must be date/time information (or something
else?) in the EXEs that make this byte compare fail even if the code
did not.

My question:  Is there a way to compare an EXE to a previous compile of
the same EXE and determine if there were actual code changes?

If you do something like comp file1.exe file2.exe /A, you'll most likely see changes. If you write a custom app to just compare resources, like version #, comments, etc., you could add logic to say something like "if the file size, version #, and other random stuff are the same, pass the file, else alert".


-Brion
.



Relevant Pages

  • Re: Comparing two EXEs
    ... TDump has enough options to keep them busy ... >> compare of the new release with the last release. ... >> when we build, we recompile all EXEs. ... > do a TDump of both executables and compare the results, ...
    (borland.public.delphi.non-technical)
  • Re: Comparing two EXEs
    ... So they do a byte compare of the new ... > recompile all EXEs. ... do a TDump of both executables and compare the results, ... correctly there is an option in TDump to extract the code block, ...
    (borland.public.delphi.non-technical)
  • Comparing two EXEs
    ... So they do a byte compare of the new ... recompile all EXEs. ... the same EXE and determine if there were actual code changes? ... Prev by Date: ...
    (borland.public.delphi.non-technical)
  • Re: How to verify NK.BIN builds for QA?
    ... The compare that you recommend will not tell them if someone modified code ... in the Public tree on PC A because the binaries (exes and dlls) are always ... With binaries you mean the .bin files or each dll and exe inside them? ...
    (microsoft.public.windowsce.platbuilder)