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

Можно ли восстановить исходный код из готовой программы?

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

Ответ

В исходном виде — нет. Дизассемблирование и декомпиляция дают текст, который специалист читает, но это реконструкция, а не исходный код.

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

Точность реконструкции резко возрастает, если сохранилась отладочная информация. Её стоит запросить у разработчика: в поставку она обычно не входит, но у него нередко остаётся.

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

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

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

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