Ответ эксперта

Собранный файл не совпал с рабочим — значит, передали не тот код?

Вопрос по направлению: Экспертиза исходного кода на C++

Ответ

Само по себе — нет. Один и тот же текст, собранный другой версией GCC, Clang или компилятора Visual Studio, даёт разный машинный код. То же делают настройки оптимизации, разрядность, целевая система, версия компоновщика и порядок подачи файлов.

Многие сборки записывают внутрь дату, имя машины и пути к исходникам; путь попадает в отладочные данные и сообщения об ошибках, а не в сам код, но файл всё равно отличается. Добавьте языковые настройки системы и подпись, которую ставят после сборки. Побайтовое совпадение достижимо только при специальной подготовке проекта — этим занимается направление воспроизводимых сборок.

Поэтому задачу ставят иначе: не «совпадают ли файлы», а «получается ли из переданного та же по существу программа», и сравнивают по признакам, устойчивым к настройкам.

Актуализировано
Обсудить задачу

Нужна экспертиза или консультация?

Опишите ситуацию и цель обращения. Мы определим нужный вид исследования, подберём профильного эксперта и поможем подготовить проект вопросов и материалы.

После назначения экспертизы через форму сообщите реквизиты дела и организационный вопрос. Организационный документ можно приложить, если вы вправе его передать. Объекты исследования и дополнения направляют через назначивший орган.

  • Подберём специалиста
  • Поможем с проектом вопросов
  • Оценим срок и стоимость
Обсудить обращение или позвоните 8 (800) 333-24-09 Бесплатный звонок по России