Исходники Borland C++ 2.0 восстановили из BCC.EXE байт в байт
Borland никогда не публиковала исходники Borland C++ 2.0. Проект borland-reborn восстановил их из бинарника 1991 года, и сборка даёт тот же BCC.EXE.

Исходников Borland C++ 2.0 никто никогда не видел: Borland их не публиковала. Теперь они есть, и восстановили их из самого BCC.EXE 1991 года. Если собрать код оригинальным тулчейном Borland, получится файл, совпадающий с фирменным байт в байт, с тем же SHA-256.
Проект называется borland-reborn. В нём 298 исходных файлов в 15 каталогах: 265 на C (Borland C++ 2.0 и Turbo C 2.01) и 33 модуля, написанных вручную на TASM. Деление оригинала на скомпилированный C и ручной ассемблер сохранено. Пока готовы BCC.EXE и отдельный препроцессор CPP.EXE, другие версии Borland и Turbo обещают позже.
Как восстановили исходники BCC.EXE
BCC.EXE собран самим Borland C++ 2.0, ручные части через TASM 2.51, а линковка через TLINK 4.0 с оверлейным менеджером VROOMM. Функция совпадает с оригиналом, только если угаданы компилятор, его версия и все ключи. Автор начал с подбора и выяснил, что 29 модулей библиотеки собраны ещё Turbo C 2.01. Затем функции подгонялись по одной, пока не совпал каждый байт.
Только после этого код сделали читаемым: около 3100 имён функций, глобальных переменных и меток, 300 полей записей и примерно 10 000 строк комментариев. Каждое изменение, включая переименования, проходит ту же побайтовую проверку.
Какие ошибки нашлись в Borland C++
По дороге всплыли и ошибки самого компилятора. strrchr читает байт перед пустой строкой. Освобождённое место в файле предкомпилированных заголовков никогда не используется повторно. Парсер написан вручную, рекурсивным спуском, с разбором выражений по приоритету операторов, без yacc. А слияние хвостов в генераторе кода определило, как приходилось писать исходники.
Оригинальных программ Borland в репозитории нет, дистрибутивы для пересборки нужно скачать самому. Есть и сборка для модификаций компилятора: её проверили 1836 компиляциями, а тесты выполняют 83% кода. Собственные скрипты проекта лежат под лицензией MIT, а восстановленные исходники получены из защищённых авторским правом программ и выложены для изучения и сохранения, без заявления прав.
Приложения, на которые стоит взглянуть
Выбирайте нужные клетки, складывайте, достигайте цели. Легко понять, сложно освоить. Бесплатно, для любого возраста.
Общайтесь с ИИ-собеседником: каждая фраза возвращается исправленной и объяснённой на вашем языке. 9 языков, от A1 до C2.
Открывайте сообщения EDIFACT и X12, каждый сегмент объяснён, конвертация в JSON/XML, экспорт в PDF и Excel. Работает локально, без загрузки.
Выберите, кому, по какому поводу и с каким характером. Поисковик читает описания товаров местных магазинов и выводит то, что подходит. Бесплатно, без регистрации.
Ещё за этот день
Показать все →
GTA VI Macca & Friends: у мультсериала из игры появился трейлер

Half-Life 2: Episode Three: моддер запустил оружие из утечки

Seagate FireCuda Forge: жёсткий диск на 20 ТБ без SSD в комплекте

Danfoss AK-SM 800A: контроллеры холода в супермаркетах всё ещё уязвимы
Ещё в рубрике: Софт
Показать все →
Режим инкогнито в Chrome: что он скрывает, а что нет

Meta тестирует Takes: рынок прогнозов, где платят очками «cred»
Сбой Microsoft: Outlook, Teams и Office не работали 11 часов
