Декомпиляция и делинковка
Dec. 13th, 2021 12:55 amКогда во второй половине 1980-х годов начали разрабатывать Эльбрус-Б, разработка ОСПО для него велась на БЭСМ-6. Для этого пришлось создать кросс-систему программирования на ассемблере. Она была написана на Паскале в рамках МС "Дубна" / "Монитор-80". Паскаль-компилятор был несколько модифицирован для удобства написания системного ПО (грубо говоря, слегка приближен к Си, частично с помощью препроцессора), и была реализована мини-файловая система и рантайм-библиотека работы с ней.
Сохранились выполняемые двоичные коды диалогово-пакетной программы для работы с кросс-системой программирования, ассемблер, линкер и несколько утилит, а также средство для создания выполняемых файлов в рамках этой программы из паскалевских объектных модулей, а также исходный текст одной из утилит.
Модифицированный компилятор, препроцессор, модифицированная паскалевская рантайм-библиотека и библиотека для работы с "файловой системой" не сохранились, но, очевидным образом, коды библиотечных функций присутствуют в нескольких экземплярах в имеющихся разнообразных бинарниках.
Стоит задача воспроизвести перемещаемый код этих библиотечных функций на основании дифференциального анализа бинарников.
Задача воспроизвести модифицированный Паскаль-компилятор на базе уже декомпилированного стандартного, конечно, тоже интересная, но гораздо более трудозатратная.
Сохранились выполняемые двоичные коды диалогово-пакетной программы для работы с кросс-системой программирования, ассемблер, линкер и несколько утилит, а также средство для создания выполняемых файлов в рамках этой программы из паскалевских объектных модулей, а также исходный текст одной из утилит.
Модифицированный компилятор, препроцессор, модифицированная паскалевская рантайм-библиотека и библиотека для работы с "файловой системой" не сохранились, но, очевидным образом, коды библиотечных функций присутствуют в нескольких экземплярах в имеющихся разнообразных бинарниках.
Стоит задача воспроизвести перемещаемый код этих библиотечных функций на основании дифференциального анализа бинарников.
Задача воспроизвести модифицированный Паскаль-компилятор на базе уже декомпилированного стандартного, конечно, тоже интересная, но гораздо более трудозатратная.