# Как читать отчёты о прогрессе декомпиляции

Author: DecompHub
Updated: 2026-10-10
Language: ru
Canonical: https://decomphub.com/ru/guides/understanding-decompilation-progress

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

## Совпадение кода и работоспособность — разные цели

Matching-декомпиляция стремится получить машинный код, идентичный определённой оригинальной сборке. Важны компилятор и его настройки. [FAQ decomp.me](https://www.decomp.me/faq) объясняет сравнение отдельных функций в scratch-среде; результат такого сравнения не равен проценту всей игры.

Совместимая замена воспроизводит поведение. Например, [ScummVM заменяет исполняемые файлы игр, используя их данные](https://docs.scummvm.org/en/latest/help/faq.html). Поддержку игры нельзя превращать в процент бинарного совпадения. Порты и исследования оборудования полезны и без matching-отчёта.

## Посмотрите на знаменатель

Функции, байты, файлы, символы и определённые ресурсы — разные единицы. В **вымышленном примере** 900 из 1 000 функций дают 90% по количеству. Если оставшиеся функции содержат половину байтов кода, это не 90% по байтам. Это пример арифметики, а не измерение проекта в каталоге.

Проверьте:

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

[objdiff](https://github.com/encounter/objdiff) поддерживает сравнение объектных файлов и отчёты. Наличие инструмента не определяет знаменатель конкретного проекта — читайте его настройки и отчёт.

## Не смешивайте версии и показатели

Готовая региональная или отладочная версия не означает готовность остальных. [Ocarina of Time](https://github.com/zeldaret/oot) описывает выбор поддерживаемой версии для сборки.

Совпадение кода и определение ресурсов отражают разную работу. Первое не означает, что понятны все текстуры, звуки и структуры данных. Не усредняйте их, если автор отчёта явно не определил общий показатель.

## Различайте даты

**Дата отчёта** предоставлена автором измерения. **Дата наблюдения** показывает, когда DecompHub прочитал источник. Только что прочитанная страница может содержать старый результат. Обновление метаданных репозитория или записи каталога не делает измерение новым.

[Документация данных на английском](/data) описывает эти поля. При цитировании сохраняйте проект, показатель, охват, URL источника и соответствующую дату.

Неизвестное значение может означать отсутствие отчёта, недоступный источник, неоднозначный охват или ещё не завершённый сбор. Значения выше 100%, изменившиеся знаменатели и противоречащие значки требуют проверки. Не обрезайте число молча и не подменяйте неизвестное нулём или звёздами GitHub.

[Откройте проекты с измерениями](https://app.decomphub.com/ru/explore?progress=in-progress) и сравните источники. Действие сообщения об ошибке в записи позволяет указать конкретные данные, которые нужно исправить.
