PDA

Ver la versión completa : Tengo un assembler, ahora que hago????



perca
24-03-2006, 22:53
Hola amigos:
Tengo un programa ejecutable ( exe ) del cual no tengo nada de informacion, ni fabricante, ni fecha ( + o - 1987), ni lenguaje, pero con unos descompiladores logre encontrar un Assembler que no se si me sirve o no....lo que quiero hacer encontrar el codigo fuente y no se si eso me sirve. Ahora que hago con los codigos hexadecimales que los paso a assembler y ahi quedo...me pueden ayudar porfis....
[email protected]
Gracias............................

Marchi
25-03-2006, 02:09
En teoria un descompilador obtiene, a partir de un binario o ejecutable, el codigo fuente, a su vez un desensamblador obtiene las instrucciones en ensablador de un ejecutable (esto es bastante similar al codigo fuente en asembler).

No creo que exista un descompilador mas potente que un desensamblador, siempre hablando de ejecutables listos para ejecutar por el microprocesador, nada de p-code ni java beans ni nada por el estilo. Esto se debe a que los compiladores suelen optimizar el codigo, y codificar una misma instruccion del lenguaje de alto nivel de distintas maneras (con varias instrucciones de codigo maquina) dependiendo de como se la utilice.

Entonces es poco practico obtener el codigo fuente de un programa que no se sabe en que lenguaje se programo. Si hubiera sido hecho en asembler, seria mas logico, pero si no tiene poco sentido.


No entiendo a que codigos hexadecimales te referis.
Explicate un poco mas.

Chau saludos

ChotaJr
01-04-2006, 23:03
:mad: :mad: :mad:
OYE MARCHI YO QUE LLEVO UN RATO EN ESTO DEL ASSEMBLER Y HE DESENSAMBLADO ALGUNO QUE OTRO CODIGO CREO QUE LOS HEXADECIMALES ALOS QUE SE REFIERE SON EL CODIGO MAQUINA, POR EL EJEMPLO EL BO58 ESTE ES EL CODIGO MAQUINA PARA CARGAR EL REGISTRO AX PERO COMO BIEN PRECISASTE NO SABEMOS EN QUE SE HAYA PROGRAMADO AL PARECER DEBE SER MACROASSMBLERQUE ES EL QUE NOS DA ESTA CLASE DE CODIGOS O CON EL DEBUG Y BIEN SI SABEIS EL CODIGO MAQUINA Y SABEIS EN QUE SE PROGRAMO PODRAS OBTENER EL CODIGO FUENTE ES MUY TARDADO O PUEDE SERQUE VEAS LO SIGUIENTE:

166C:0120 03F1 ADD SI,CX
166C:0122 2BC6 SUB AX,SI
166C:0124 8BC8 MOV CX,AX
166C:0126 E87BF4 CALL F5A4

BUENO SI ESTO ES LO QUE TU VEIS EN TU DESENSAMBLADO ES COMO SI VIERAS EL COMANDO "U" DEL DEBUG Y LO QUE TU ESTAS OBTENIENDO ES LO SIGUIENTE:
EN LA PRIMERA COLUMNA VES EL PSP CLARO DESPUES DE LOS : VES EL IP
EN LA SEGUNDA COLUMNA VES EL CODIGO MAQUINA QUE HAN DE SER LOS HEXA QUE NOS DICES BUENO EN ESTO OS QUIERO DECIR QUE A NO SER QUE SEAS UNA MENGIDO ORDENADOR NO OS SERVIRA DE MUCHO ESTE CODIGO A MENOS QUE OS DEDIQUES AL DISEÑO DE HARDWARE , DE TODA FORMA LO QUE TU QUEREIS VER ES LA ULTIMA COLUMNA DONDE ESTAN LAS INSTRUCCIONES QUE HABEIS GENERADO TU EXECUTABLE .
:mad: :mad: DE TODAS MANERAS PARA AAQUELLOS QUE SE INCIAN EN ESTO DEL ENSAMBLADO EL USO DEL DEBUG OS DEJAIS MUY BUENAS BASES PARA DESPUES. ES SOLO UNA RECOMENDACION :mad: :mad:

ChotaJr
01-04-2006, 23:09
:mad: :mad: :mad: :mad: :mad: :mad: :mad:
DE LO ANTERIOR CREO QUE ME FALTO EXPLICAR LO SIGUIENTE:

POR EJEMPLO DEL PRIMERO RENGLON VEMOS 166C:0120 ESTE ES NUESTRO PSP ADELANTE VEMOS 03F1 ESTE ES EL CODIGO MAQUINA DE NUESTRO DESENSAMBLADO Y POR ULTIMO TENEMOS ADD SI,CX ESTA ES LA INSTRUCCION QUE FUE GENERADA A PARTIR DEL CODIGO MAQUINA 03F1. BUENO ESO ES TODO. :mad: