Relación entre Hex Dump y Disassembly

Iniciado por ViejoMajara, 17 Diciembre 2014, 09:39 AM

0 Miembros y 1 Visitante están viendo este tema.

ViejoMajara

¡Hola!

Voy por la lección 33 de la Introducción al Cracking con OLLY del Maestro Narvaja y trabajando con alguna otra cosilla y aún no termino de entender, en la ventana de Desensamblado, la relación existente entre la columna de Hex Dump y la de Disassembly.

Yo pensaba que lo que aparece en Hex Dump traducido a binario es lo que se pasa al procesador pero, por ejemplo, leo esta línea:

Address 0040135C; Hex Dump E8 D9000000; Disassembly CALL 0040143A; Comment MessageBoxA.

E8 equivale a CALL, pero ¿qué tiene que ver D9000000 con 0040143A?

No sé si esto tiene importancia, pero si es sencillo de explicar y de entender os agradecería una respuesta.

Estas preguntas de novato ¿Habría que plantearlas en otro foro?

Saludos


MCKSys Argentina

Cita de: ViejoMajara en 17 Diciembre 2014, 09:39 AM
Voy por la lección 33 de la Introducción al Cracking con OLLY del Maestro Narvaja y trabajando con alguna otra cosilla y aún no termino de entender, en la ventana de Desensamblado, la relación existente entre la columna de Hex Dump y la de Disassembly.

Excelente!  ;)

Cita de: ViejoMajara en 17 Diciembre 2014, 09:39 AM
Address 0040135C; Hex Dump E8 D9000000; Disassembly CALL 0040143A; Comment MessageBoxA.

E8 equivale a CALL, pero ¿qué tiene que ver D9000000 con 0040143A?

No sé si esto tiene importancia, pero si es sencillo de explicar y de entender os agradecería una respuesta.

E8 es el opcode de la instruccion CALL como bien has puesto, Ahora, los CALLs, son relativos a la posición en que se encuentran (al igual que los JMPs). Entonces, el argumento de la instrucción (el D9000000) es un offset al lugar donde llama/salta el CALL. Dicho argumento se interpreta con signo, por lo que si el valor es negativo, salta hacia arriba (osea, a una dirección menor), de lo contrario hacia abajo (dirección mayor).

En otras palabras, el valor 0xD9000000 es la distancia desde el CALL hasta la instruccion a la que salta.

Por esta pregunta, veo que te falta leer un poco acerca de las instrucciones ASM. Pero no te preocupes, pues todos hemos pasado por este tema.

Cita de: ViejoMajara en 17 Diciembre 2014, 09:39 AM
Estas preguntas de novato ¿Habría que plantearlas en otro foro?

Aquí, estás en el lugar correcto.   :)

Saludos!
MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."


ViejoMajara

¡Hola!

Aclarado perfectamente el asunto.

Muchas gracias.