Это может быть некоторая временная метка или номер версии, автоматически внедренный компилятором / компоновщиком ...
В связи с этим я предлагаю нечто иное (исходя из того факта, что это собственные EXE / DLL):
Просто постобработайте сгенерированный файл - не думайте о CRC32 результирующего файла до того, как он будет сгенерирован ...
В Windows есть действительно «приятная» функция при загрузке EXE / DLL: он просто игнорирует что-либо в конце файла, который не принадлежит ему.
Вы можете использовать это в своих интересах: добавьте блок байтов (например, 256 байтов) к файлу.Этот блок может содержать все, что вам нравится (хэш вашего файла, длина вашего файла и т. Д.), И может быть даже зашифрован ... когда вы хотите проверить, вычислите необходимую информацию (например, ваш CRC ...) и сравните ее сэтот блок вашего файла ...
Чтобы сделать его сложнее, вы можете включать различные хэши и выбирать случайным образом, какой из них вы проверяете ... вы даже можете добавить несколько случайных байтов в этот блок ... Также поместите впроверьте, чтобы убедиться, что имеется только один такой блок ... так что вы можете прервать или что угодно, если такого блока нет, более одного такого блока или ваша проверка и сохраненная информация из этого блока не совпадает.