Вопрос

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

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

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

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

правка 2:Взгляните на http://animatorpro.org для исходного кода программы , которую я..получил источник для.Роскошная краска тоже была бы хороша, но Дан Сильва, похоже, исчез с лица земли.

Это было полезно?

Решение

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

Другие советы

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

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

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

-Адам

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top