2009-03-27 11 views
11

Tengo un par de programas antiguos de pintura basados ​​en MSDos. Funcionan en los búferes de imagen indexados de paleta. Tienen una serie de herramientas de dibujo de formas espectaculares, pinceles y efectos que simplemente no existen en ningún programa de pintura moderno. Particularmente, no estando dentro de los "límites" de una imagen indexada de paleta de colores baja. Me gustaría reproducir muchas de estas maravillosas herramientas en un programa moderno, para quizás hacerlas más accesibles para mí y para el público en general nuevamente, sin tener que arrancar un emulador como dosbox. Pero tengo un problema.Ingeniería inversa Ingeniería de pintura antigua

Si bien muchos de estos cepillos y herramientas y cosas tienen funciones obvias, cuya implementación debería ser bastante sencilla. Pero con otras herramientas, sus principios de funcionamiento no son tan obvios. Me quedaría atrapado determinando un algoritmo correcto o fiel para implementarlos.

Si fueras yo, ¿qué enfoque tomarías? ¿Hay decompiladores/desensambladores disponibles que puedan manejar viejos programas como este? ¿O tomaría un enfoque diferente, como probar metódicamente los algoritmos en diferentes entradas para inferir la función subyacente? Alguna combinación de diferentes técnicas? En el caso de una línea de estos programas, el autor original de estos programas (comerciales) es conocido, y ahora es un defensor de código abierto rabioso. ¿Debería tratar de contactarlos directamente y preguntar? No tengo mucha experiencia en ingeniería inversa, así que no sé dónde comenzar con esto.

editar: parece que "Ask and ye shall recieve" realmente funciona.

edición 2: Eche un vistazo a http://animatorpro.org para el código fuente del programa que yo ... obtuve la fuente. Deluxe Paint también sería agradable, pero Dan Silva parece haberse desvanecido de la faz de la tierra.

+0

Solo me gustaría saber si GIMP no se ajusta a sus necesidades, o tal vez incluso a Photoshop. –

+0

@camilo: parece que no lo entiendes, ¿verdad? http://www.pixeljoint.com/ – Breton

+0

Esta pregunta, junto con las respuestas y los comentarios, es el mejor hilo que he visto en SO aún. Felicitaciones a usted por obtener el código! –

Respuesta

6

IDA Pro maneja casi cualquier binario, y es el estándar de oro para este tipo de trabajo, aunque ponerse en contacto con el autor puede ser útil también.

+0

El complemento IDA Pro y HexRays debería ayudarlo a comenzar. – mmcdole

+9

hey No esperaba totalmente, pero el autor me ha dado el código fuente. Lo que dyah sabe. Gracias chicos. – Breton

6

Si puede convencer al autor para que abra el programa en su totalidad o en parte, ese es el mejor método.

Más allá de eso, el desmontaje y la depuración van a ser tus amigos. En algunos casos, es posible que pueda descompilar una pieza de software si sabe con qué se compiló originalmente. Pero desmóntelo, y ejecútelo en un depurador para encontrar la estructura general, y busque las funciones obvias que hacen el trabajo de pincel real.

Puede parecer desalentador al principio, pero después de un tiempo lo encontrará sorprendentemente comprensible.

-Adam

+0

No creo que tenga la esperanza de obtenerlo porque no creo que el autor original sea el propietario de la fuente. Mencioné contactarlo con la esperanza de que al menos pueda explicar los algoritmos involucrados. – Breton

+0

Resulta que estaba equivocado. – Breton

+0

¿Entonces te dieron lo que necesitabas? –

Cuestiones relacionadas