Desensambladores

Avatar de Usuario
luiscoco
Mensajes: 2414
Registrado: 15 May 2011 04:23
Ubicación: Caracas, Venezuela
Agradecido : 38 veces
Agradecimiento recibido: 59 veces

Desensambladores

Mensajepor luiscoco » 11 May 2017 18:40

Hola, no se si es que no se del tema, pero creo que este tema no está usado ni trillado y es un mundo incierto, ya les explico

Digamos que quieres ver como hicieron un juego, entonces cojes el ROM y lo desensamblas, ya ta, pos no.

El desensamblador no hace bien todo el trabajo, ya que no sabe dónde están los datos, y empieza el calvario, que aparte de buscar los datos a mano, hay que marcarlos y comentarlos, y por supuesto todo se corre y ya el desensamblador no te ayuda mas.

Existe algún Desensamblador para 6809 bueno de verdad o me pongo ha hacer uno?

jltursan
Mensajes: 5648
Registrado: 20 Sep 2011 13:59
Ubicación: Madrid
Agradecido : 1004 veces
Agradecimiento recibido: 2050 veces
Contactar:

Re: Desensambladores

Mensajepor jltursan » 11 May 2017 19:24

Noooo, acuerdate del "Hobbit" Luis. Os comenté acerca del IDA Pro

Diría que es de lo mejorcito que hay. Magia no hace; pero partiendo del punto de arranque, que sabemos positivamente que es código, el se pone a desensamblar y cada vez que un salto le hace ir a otra zona de código, continúa otro hilo de desensamblado. Tras recorrer todo un arbol inmenso que se genera, tienes fácilmente el 60-70% del trabajo hecho.

Con las facilidades de navegación que ofrece, continuar hasta tener el 100% no es una tarea titánica :-)

Avatar de Usuario
explorer
Mensajes: 701
Registrado: 10 Ene 2016 18:43
Ubicación: Valladolid, España
Agradecido : 24 veces
Agradecimiento recibido: 684 veces
Contactar:

Re: Desensambladores

Mensajepor explorer » 11 May 2017 21:52

Eso sí... el IDA Pro cuesta dos riñones y medio.

Hay un desarrollo español llamado radare2 (Wikipedia EN), pero no trae soporte para todas las arquitecturas.

Yo hice el desensamblado del Pengo haciéndolo a mano, a partir del desensamblado que el MAME ofrecía, y luego rehaciendo el fuente y ensamblando para luego comparar si el código que estaba creando generaba la misma ROM original. El desensamblado del MAME es puro y duro desensamblado de la ROM del juego que indiques y ya decodificada (si se trata de un juego con protección), así que tiene esa ventaja.

Luego lo he intentado pasar a IDA Pro, pero tiene una curva de aprendizaje complicadísima. De hecho, tienes que leerte antes un par de libros, como por ejemplo

Te recomiendo que mires la página de Sean Riddle, donde tiene su propia versión del desensamblador 6809dasm y mucha información sobre juegos de la Williams.

Para Linux tienes también as09y d09: https://github.com/dfffffff/as09

Seguro que hay más. Y código fuente por si quieres hacerte el tuyo :)

jltursan
Mensajes: 5648
Registrado: 20 Sep 2011 13:59
Ubicación: Madrid
Agradecido : 1004 veces
Agradecimiento recibido: 2050 veces
Contactar:

Re: Desensambladores

Mensajepor jltursan » 11 May 2017 22:04

Pues el Radare2 no lo conocía y tiene bastante buena pinta. No soporta el 6809 pero al menos sí el Z80 :-)

Avatar de Usuario
luiscoco
Mensajes: 2414
Registrado: 15 May 2011 04:23
Ubicación: Caracas, Venezuela
Agradecido : 38 veces
Agradecimiento recibido: 59 veces

Re: Desensambladores

Mensajepor luiscoco » 11 May 2017 22:30

Muchas gracias amigos, muy importante todo, les cuento que ya el mio funciona bastante bien, estaba pensando como hacer el resto, o sea, marcar las zonas es fácil, que herramientas harán falta, alguien quiere acompañarme con ideas al menos?

Pondré fotos, no se ve de tan rápido que lo hace, hasta ahora lo hizo bien con el popcorn.ROM o el basic de la color computer

Avatar de Usuario
explorer
Mensajes: 701
Registrado: 10 Ene 2016 18:43
Ubicación: Valladolid, España
Agradecido : 24 veces
Agradecimiento recibido: 684 veces
Contactar:

Re: Desensambladores

Mensajepor explorer » 11 May 2017 22:48

jltursan escribió:Pues el Radare2 no lo conocía y tiene bastante buena pinta. No soporta el 6809 pero al menos sí el Z80 :-)

Yo intenté desensamblar el Pengo con el Radare2, y todo iba bien (tirando mucho de documentación en línea), hasta que se colgó y cerró de repente. Quizás le de una oportunidad más adelante.

Avatar de Usuario
luiscoco
Mensajes: 2414
Registrado: 15 May 2011 04:23
Ubicación: Caracas, Venezuela
Agradecido : 38 veces
Agradecimiento recibido: 59 veces

Re: Desensambladores

Mensajepor luiscoco » 12 May 2017 03:33

Ya desensambla correctamente, falta pulir las opciones, pero el problema no es desensamblar, sino todo lo demás.
Marcare zonas y se podrán convertir en datos, aunque dependiendo del compilador que se podría usar después hay varias alternativas

Se puede usar RMB (tantos bytes)
Se pueden hacer equivalencias con EQU a posiciones ya conocidas
Por supuesto poner ORG para el origen, incluso varias veces
Pero también se puede usar FCB para reservar un byte
FCC para caracteres
FDB para datos separados por comas

Tengo que ver como hacer todo esto y más
Popcorn (1981) (26-3090) (Radio Shack - Steve Bjork) (U) [!].png
Popcorn (1981) (26-3090) (Radio Shack - Steve Bjork) (U) [!].png (22.33 KiB) Visto 2719 veces

Desensamblador (Opciones).png
Desensamblador (Opciones).png (4.5 KiB) Visto 2719 veces

Avatar de Usuario
luiscoco
Mensajes: 2414
Registrado: 15 May 2011 04:23
Ubicación: Caracas, Venezuela
Agradecido : 38 veces
Agradecimiento recibido: 59 veces

Re: Desensambladores

Mensajepor luiscoco » 12 May 2017 05:11

OK el IDA PRO vale $10000 uff...
Tiene otro curioso descompilador, que te lo pone en C, está curioso, y tambien yo diria que seria divino que lo pusiera en Basic, jeje

Revisare el otro

Con respecto al mio, voy a ver hasta donde llego, y pensando en voz alta, lo obvio, Marcare una zona y le pongo lo que el usuario quiera, se puede marcar como Bytes uno a la vez, separados por comas, de tantos en tantos, al igual que en WORD y por supuesto en caracteres, a los que podría ayudar si la última letra esta puesta a (bit 7 on) o tal vez analizar por cadenas terminados en 0, creo que todo eso lo podría hacer.

Podría sacar la gráfica del programa, algo como hizo PSER1, haciendo bloques de funciones, los JMP y BRANCH se podrían colocar con flechas de true y false, creo que se pueden encontrar los comienzos de las funciones por estar debajo de un JMP o RET ya que no hay mas codigo debajo, esa primera instrucción tendría un nombre propio después de que sepamos que hace y el final debería ser un RET. o un salto a otra parte, ya vere como seguir esto.

Luego si escribes cosas a mano debería modificar el rom original, o sea estaria compilando e assembler.
Ya comencé a hacerlo más fácil, por ejemplo si escribes "J" te saca una lista de los comandos que empiezan por "J" como hacen los editores de microsoft-
Esto será difícil, podria ayudar con la sintaxis, y guiar con los labels y otras cosas, por supuesto un buen HELP de comandos y sus usos, modos de direccionamiento y no se que mas ayudas ya vere, alguien se anima a ayudar?

Avatar de Usuario
minter
Mensajes: 4840
Registrado: 22 Jul 2014 18:51
Agradecido : 6786 veces
Agradecimiento recibido: 2605 veces

Re: Desensambladores

Mensajepor minter » 12 May 2017 07:52

Yo estuve con el IDA intentando desemsamblar la ROM del Atari (La historia esa de preservar la TOS es español), para intentar calzar en medio del código el programa de explorer de las tildes.
El problema, que era de evaluación y no me desensamblaba todo el código, por lo que no me valía para nada.
(Es extraño. Acabo de pasar por la web y el de evaluación únicamente desemsambla 8086 y ARM. ¿De donde bajé mi copia que podía con 68k? -shock )
Además, después de aparecer el fuente, ya no tenía sentido pegarse con el desensamblador. -banghead
Pero no me parecía mal programa, ya hubiera querido conocerlo antes.

luiscoco escribió:Existe algún Desensamblador para 6809 bueno de verdad o me pongo ha hacer uno?


No sé como se dirá en maracucho, pero por estos lugares se dice: "Ole tus huevos!" -507
PD: Anda, porras! Que no eres marachucho! -banghead

Avatar de Usuario
Jinks
Mensajes: 2705
Registrado: 09 Oct 2013 16:47
Agradecido : 348 veces
Agradecimiento recibido: 481 veces
Contactar:

Re: Desensambladores

Mensajepor Jinks » 12 May 2017 11:51

minter escribió:
luiscoco escribió:Existe algún Desensamblador para 6809 bueno de verdad o me pongo ha hacer uno?


No sé como se dirá en maracucho, pero por estos lugares se dice: "Ole tus huevos!" -507
PD: Anda, porras! Que no eres marachucho! -banghead


¡Eso es ser del mismo Bilbao! -rofl
Lo demás son tonterías.

Avatar de Usuario
overCLK
Mensajes: 270
Registrado: 26 Ene 2017 12:26
Agradecido : 82 veces
Agradecimiento recibido: 134 veces

Re: Desensambladores

Mensajepor overCLK » 12 May 2017 12:42

Jinks escribió:
minter escribió:
luiscoco escribió:Existe algún Desensamblador para 6809 bueno de verdad o me pongo ha hacer uno?


No sé como se dirá en maracucho, pero por estos lugares se dice: "Ole tus huevos!" -507
PD: Anda, porras! Que no eres marachucho! -banghead


¡Eso es ser del mismo Bilbao! -rofl
Lo demás son tonterías.


Hombre, alguien del mismo Bilbao lo desensamblaría a hostias. -rofl
Un saludo para los de Bilbao. -drinks
Imagen

Avatar de Usuario
explorer
Mensajes: 701
Registrado: 10 Ene 2016 18:43
Ubicación: Valladolid, España
Agradecido : 24 veces
Agradecimiento recibido: 684 veces
Contactar:

Re: Desensambladores

Mensajepor explorer » 12 May 2017 13:27

Pero, de verdad, ¿no te ha servidor ninguno de los enlazados? Te he puesto tres o cuatro.

Otra cosa es que quieras añadirle características extra para ayudar al usuario. En ese caso, hubiera antes mirado la posibilidad de ampliar radare2 con soporte para el código máquina del 6809.

Avatar de Usuario
luiscoco
Mensajes: 2414
Registrado: 15 May 2011 04:23
Ubicación: Caracas, Venezuela
Agradecido : 38 veces
Agradecimiento recibido: 59 veces

Re: Desensambladores

Mensajepor luiscoco » 12 May 2017 13:44

minter escribió:Yo estuve con el IDA intentando desemsamblar la ROM del Atari (La historia esa de preservar la TOS es español), para intentar calzar en medio del código el programa de explorer de las tildes.
El problema, que era de evaluación y no me desensamblaba todo el código, por lo que no me valía para nada.
(Es extraño. Acabo de pasar por la web y el de evaluación únicamente desemsambla 8086 y ARM. ¿De donde bajé mi copia que podía con 68k? -shock )
Además, después de aparecer el fuente, ya no tenía sentido pegarse con el desensamblador. -banghead
Pero no me parecía mal programa, ya hubiera querido conocerlo antes.

Pues no me cuesta nada hacerle todos los CPUS que necesitemos, luego puede ser necesario que sepa el equipo en si, ya que pienso hacer que recnozca mapas de memoria diversos

Avatar de Usuario
luiscoco
Mensajes: 2414
Registrado: 15 May 2011 04:23
Ubicación: Caracas, Venezuela
Agradecido : 38 veces
Agradecimiento recibido: 59 veces

Re: Desensambladores

Mensajepor luiscoco » 12 May 2017 13:46

explorer escribió:Pero, de verdad, ¿no te ha servidor ninguno de los enlazados? Te he puesto tres o cuatro.

Otra cosa es que quieras añadirle características extra para ayudar al usuario. En ese caso, hubiera antes mirado la posibilidad de ampliar radare2 con soporte para el código máquina del 6809.


Bueno lo estuve mirando, pero no entendi bien, ya que en los fuentes y manuales solo veo lineas de comando, el IDE no lo vi, pero aprendi mucho de la info que vi solo que no en profundidad aun, incluso pensé en eso de agregarle al radare2 el 6809 y el 6309, aunque como el mio ya desensambla lo que mas quiero es ver como hace lo demás y parece complejo lo revisare mas

Y si, si voy a añadir de todo hasta que no quepa mas NA, jeje

Avatar de Usuario
explorer
Mensajes: 701
Registrado: 10 Ene 2016 18:43
Ubicación: Valladolid, España
Agradecido : 24 veces
Agradecimiento recibido: 684 veces
Contactar:

Re: Desensambladores

Mensajepor explorer » 12 May 2017 15:02

Precisamente, radare2 se basa en comandos en la línea de comandos. Nada de IDE y esas modernidades.

Te recomiendo algún vídeo sobre radare2 para que veas cómo funciona.

Yo opino que, si tengo que aprenderme todos los comandos, casi prefiero usar algo más sencillo. No niego que con radare2 se pueda hacer algo espectacular, y de hecho en los vídeos el autor lo demuestra, pero aprenderse los comandos lleva un tiempo, aún con ayuda incluida.

Lo dicho, le daré un tiento dentro de poco desensamblando un juego en z80.

Avatar de Usuario
luiscoco
Mensajes: 2414
Registrado: 15 May 2011 04:23
Ubicación: Caracas, Venezuela
Agradecido : 38 veces
Agradecimiento recibido: 59 veces

Re: Desensambladores

Mensajepor luiscoco » 12 May 2017 15:11

explorer escribió:Precisamente, radare2 se basa en comandos en la línea de comandos. Nada de IDE y esas modernidades.

Te recomiendo algún vídeo sobre radare2 para que veas cómo funciona.

Yo opino que, si tengo que aprenderme todos los comandos, casi prefiero usar algo más sencillo. No niego que con radare2 se pueda hacer algo espectacular, y de hecho en los vídeos el autor lo demuestra, pero aprenderse los comandos lleva un tiempo, aún con ayuda incluida.

Lo dicho, le daré un tiento dentro de poco desensamblando un juego en z80.

Listo, me lei todo el manual, lo instale, no logre correr el IDE, y me canse de comandos de línea, paso de el

Opino igual que tu, a estas alturas, nada menos que interfaz gráfico, si quieres veo ese video o lo busco yo, pero me parece que no voy por ese camino

Cuando necesites el Z80 lo hacemos, en un rato

Ahora bien, voy a avanzar el mio a ver donde me lleva, el IDA PRO aun no lo he estudiado bien, creo que hay una versión free


Volver a “Lenguajes de Programación y herramientas Dev”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 5 invitados