Compiling Twice with Delphi 6 and getting the same checksum on the binary

前端 未结 3 1230
轻奢々
轻奢々 2021-01-06 01:29

For the purposes of binary / source code verification, i\'d like to be able to make two compiles on the same computer 2 weeks apart and have the binaries be identical and th

相关标签:
3条回答
  • 2021-01-06 02:16

    Based on your comment in the question, I think you are searching for the answer to this question:

    How can I verify that a certain binary is created by a certain set of source files

    One way is to have an automated built process that:

    1. Inserts a unique verififcation tag in the source code (might be as simple as a GUID string or something else in an include file)
    2. Compiles the binaries using that verification tag
    3. Packs the resulting binary and source code in a delivery directory tree

    You must make sure that your sourcecode actually uses that verification tag (for instance by showing in an about box, or something similar).

    I use FinalBuilder to automate build processes like this.

    --jeroen

    0 讨论(0)
  • 2021-01-06 02:19

    We researched this question a few years ago, and as I recall the answer was simply that the people at Borland/Codegear/Embarcadero do not subscribe to the notion that the compiler should produce exactly the same output given exactly the same input (given that the current date-time is not acceptable to consider as input).

    This is disappointing, but given that Delphi is upmteen major versions old, it probably will not change.

    0 讨论(0)
  • 2021-01-06 02:32

    Unfortunately I haven't heard of any answer to this problem.

    It's not just timestamps but there are places where a few bytes of random garbage out of memory ends up in the result.

    0 讨论(0)
提交回复
热议问题