Обратный инжиниринг старых программ покраски - PullRequest
12 голосов
/ 27 марта 2009

У меня есть пара действительно старых программ рисования на основе MSDos. Они работают на индексированных буферах палитры изображений. У них есть ряд впечатляющих инструментов рисования формы, кистей и эффектов, которых просто нет ни в одной современной программе рисования. Я хотел бы воспроизвести многие из этих замечательных инструментов в современной программе, чтобы, возможно, сделать их снова более доступными для себя и широкой публики без необходимости загружать эмулятор, такой как dosbox. Но у меня есть проблема.

Хотя многие из этих кистей, инструментов и прочего имеют очевидные функции, реализация которых должна быть довольно простой. Но с другими инструментами, их принципы работы не так очевидны. Я бы застрял в определении правильного или точного алгоритма для их реализации.

Если бы вы были мной, какой подход вы бы выбрали? Доступны ли декомпиляторы / дизассемблеры, которые могут обрабатывать старые программы, подобные этой? Или вы бы выбрали другой подход, такой как методическое тестирование алгоритмов на разных входах, чтобы сделать вывод основной функции? Некоторая комбинация разных техник? В случае с одной линией этих программ, первоначальный автор этих (коммерческих) программ известен, и в настоящее время является оголтелым сторонником открытого кода. Должен ли я просто попытаться связаться с ними напрямую и спросить? У меня нет особого опыта работы с реверс-инжинирингом, поэтому я не знаю, с чего начать.

редактировать: кажется, что "Спроси, и ты получишь" действительно работает.

edit 2: Посмотрите на http://animatorpro.org исходный код программы, для которой я ... получил исходный код. Deluxe Paint тоже подойдет, но Дэн Сильва, похоже, исчез с лица земли.

Ответы [ 2 ]

6 голосов
/ 27 марта 2009

Если вы можете убедить автора открыть исходную программу частично или полностью, это лучший способ.

Кроме того, разборка и отладка станут вашими друзьями. В некоторых случаях вы можете декомпилировать часть программного обеспечения, если вы знаете, с чем оно было скомпилировано изначально. Но разберите его и запустите в отладчике, чтобы найти общую структуру, и найдите очевидные функции, которые выполняют настоящую работу кисти.

Поначалу это может показаться пугающим, но через некоторое время вы обнаружите, что это удивительно понятно.

-Adam

6 голосов
/ 27 марта 2009

IDA Pro работает практически с любым двоичным файлом и является золотым стандартом для такого рода работ, хотя контакт с автором может оказаться полезным.

...