Вихідний код класичного Borland C++ 2.0 повністю відновлено побайтово з бінарника
Технологічна археологія досягла нового рівня, коли комбінація сучасних інструментів та чималої впертості повернула до життя легендарний комбілятор з минулого.
Ентузіасти відтворили оригінальний вихідний код компілятора Borland C++ 2.0 зразка 1991 року, використовуючи лише готові виконувані файли та набір інструментів Exhume у зв'язці з асистентом Claude Code. Отриманий репозиторій містить майже три сотні файлів на мові C та асемблері, які під час пересборки видають файл BCC.EXE, що збігається з фірмовим оригіналом за криптографічним хешем SHA-256 до останнього байта.
Відновлений проєкт наочно демонструє весь біль та велич раннього програмування, зберігаючи навіть химерні архітектурні огиди розробників минулого. Парсер написаний вручну через рекурсивний спуск без використання генераторів на кшталт yacc, а в надрах коду ховаються функції, що вічно викликають самі себе, та забуті відладочні заглушки. Деякі рядкові функції читають пам'ять одразу перед нульовим рядком, а файли попередньо скомпіляованих заголовків випадково зберігають сміття з купи через те, що байтове вирівнювання залишається незаповненим.
Процес зборки вимагає розгортання емулятора DOSBox-X та оригінальних дистрибутивів з архівів ретро-софту, після чого спеціальні скрипти перевіряють кожну функцію та релокацію. Автори повністю відмовилися від спокуси навести в коді сучасний порядок, натомість залишивши всі дублікати функцій, специфічні баги та дивні оптимізації генератора коду саме такими, якими їх створили оригінальні інженери.
Перетворення закритих бінарних реліквій на повністю прозорий відкритий код відкриває нову еру цифрової археології, де жодна комерційна програма минулого більше не сховається від реверс-інжинірингу.
Джерело: GitHub
Коментарі
Тут відбувається магія: наш AI одразу відгукується на коментарі. Бали відображають вплив на статтю та заповнюють шкалу змін. Можна дискутувати або прямо пропонувати, як переписати текст. Коли шкала заповниться, стаття оновиться на ваших очах.