Як читати звіти про прогрес декомпіляції

Автор: DecompHub · Оновлено · Українська

Відсоток має сенс лише разом із контекстом: що рахують, для якої збірки та коли вимірювали. DecompHub зберігає назву показника, охоплення й посилання на джерело. Якщо надійного вимірювання немає, прогрес лишається невідомим — це не нуль.

Збіг машинного коду й працездатність — різні цілі

Matching-декомпіляція прагне отримати машинний код, ідентичний конкретній оригінальній збірці. Важливі компілятор і параметри збирання. FAQ decomp.me пояснює порівняння окремих функцій у scratch-середовищі; його результат не є відсотком усієї гри.

Сумісна заміна відтворює поведінку. Наприклад, ScummVM замінює виконувані файли ігор, використовуючи їхні дані. Підтримку гри не можна перетворювати на відсоток бінарного збігу. Порти й дослідження обладнання можуть бути корисними без такого звіту.

З’ясуйте знаменник

Функції, байти, файли, символи й ідентифіковані ресурси — різні одиниці. У вигаданому прикладі 900 із 1 000 функцій дають 90% за кількістю. Якщо решта містить половину байтів коду, це не 90% за байтами. Приклад пояснює обчислення, а не показник реального запису.

Перевірте:

objdiff підтримує порівняння об’єктних файлів і звіти. Наявність цього інструмента не визначає параметри конкретного звіту — їх слід читати окремо.

Не змішуйте версії та показники

Завершена регіональна чи налагоджувальна версія не означає завершення всіх випусків. Ocarina of Time описує підтримувані версії та вибір цілі збирання.

Збіг коду й ідентифікація ресурсів також відображають різну роботу. Не усереднюйте їх у загальну «готовність», якщо автор звіту явно не визначив такий показник.

Розрізняйте дати

Дата звіту походить від автора вимірювання. Дата спостереження — коли DecompHub прочитав джерело. Щойно прочитана сторінка може містити давні дані. Оновлення метаданих репозиторію або запису каталогу не робить вимірювання новим.

Документація даних англійською описує ці поля в експорті. Цитуючи результат, зберігайте проєкт, показник, охоплення, URL джерела й відповідну дату.

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

Перегляньте проєкти з вимірюваннями та відкрийте джерела. Через дію повідомлення про помилку в записі можна вказати конкретне першоджерело для виправлення.