Без исходного кода? Не проблема: как перенести программу, имея только бинарник

No Source Code? No Problem

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

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

Ещё за этот день

2026-10-23