elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Ingeniería Inversa (Moderadores: karmany, .:UND3R:., MCKSys Argentina)
| | |-+  Distinguir entre DATOS E INSTRUCCIONES?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Distinguir entre DATOS E INSTRUCCIONES?  (Leído 3,027 veces)
FFernandez

Desconectado Desconectado

Mensajes: 128



Ver Perfil
Distinguir entre DATOS E INSTRUCCIONES?
« en: 21 Octubre 2020, 22:45 pm »

Un saludo a todos:

¿Examinando  el código binario de un “ .EXE”, sabe alguien como distinguir entre DATOS E INSTRUCCIONES?

¿ Como encontrar la primera instrucción que se ejecuta ?

          Gracias….
En línea

Moskito

Desconectado Desconectado

Mensajes: 15



Ver Perfil
Re: Distinguir entre DATOS E INSTRUCCIONES?
« Respuesta #1 en: 22 Octubre 2020, 20:01 pm »

Hola! y no podes ver el desensamblado en ASSEMBLER? si o si en binario tiene que ser?

Cómo abrís en binario el *.exe?
En línea

No se queje si no se queja.
FFernandez

Desconectado Desconectado

Mensajes: 128



Ver Perfil
Re: Distinguir entre DATOS E INSTRUCCIONES?
« Respuesta #2 en: 22 Octubre 2020, 21:53 pm »

Hola! y no podes ver el desensamblado en ASSEMBLER? si o si en binario tiene que ser?

Cómo abrís en binario el *.exe?

El tema es que los EXEs Y DLLs, si están hechos con un compilador conocido, podemos conocer su encabezado “TIPO”, aquí hay datos de la compilación, declaraciones, constantes, llamadas al sistema operativo, etc….       Supongamos que es  “void Main()”     ¿cómo sabe el procesador donde poner el puntero inicial?

Además todo lo que aparece en el encabezado, lo carga en memoria y el sistema operativo sabe donde ubicar el programa y como tratarlo(Ej:32 o 64 bits)

en ASSEMBLER tambien vale........................gracias


http://www.openrce.org/reference_library/files/reference/PE%20Format.pdf
« Última modificación: 7 Noviembre 2020, 22:30 pm por FFernandez » En línea

ThunderCls


Desconectado Desconectado

Mensajes: 455


Coder | Reverser | Gamer


Ver Perfil WWW
Re: Distinguir entre DATOS E INSTRUCCIONES?
« Respuesta #3 en: 22 Octubre 2020, 21:57 pm »

Para comprender esto debes tener una idea del formato PE. Este formato establece que por regla general un .exe (PE) esta conformado por muchas estructuras, algunas de estas son las denominadas "sections". Un ejecutable contiene varias secciones, cada sección con sus atributos y su contenido especifico (datos, codigo, recursos, etc). Se supone que la sección "code" es la sección que contiene codigo ejecutable o instrucciones, aunque puedes tener otras secciones fuera de la sección "code" que tambien contengan codigo ejecutable. La primera instruccion que se ejecuta esta alojada en el campo AddressOfEntryPoint de la estructura _IMAGE_OPTIONAL_HEADER. Este valor indica la primera instruccion del codigo que se ejecuta una vez el loader de windows ha cargado el binario en memoria.

En esta imagen tienes muchos mas detalles al respecto

En línea

-[ "…I can only show you the door. You're the one that has to walk through it." – Morpheus (The Matrix) ]-
http://reversec0de.wordpress.com
https://github.com/ThunderCls/
FFernandez

Desconectado Desconectado

Mensajes: 128



Ver Perfil
Re: Distinguir entre DATOS E INSTRUCCIONES?
« Respuesta #4 en: 23 Octubre 2020, 20:12 pm »

Para comprender esto debes tener una idea del formato PE. Este formato establece que por regla general un .exe (PE) esta conformado por muchas estructuras, algunas de estas son las denominadas "sections". Un ejecutable contiene varias secciones, cada sección con sus atributos y su contenido especifico (datos, codigo, recursos, etc). Se supone que la sección "code" es la sección que contiene codigo ejecutable o instrucciones, aunque puedes tener otras secciones fuera de la sección "code" que tambien contengan codigo ejecutable. La primera instruccion que se ejecuta esta alojada en el campo AddressOfEntryPoint de la estructura _IMAGE_OPTIONAL_HEADER. Este valor indica la primera instruccion del codigo que se ejecuta una vez el loader de windows ha cargado el binario en memoria.

En esta imagen tienes muchos mas detalles al respecto




Muchas gracias, muy útil la información ya se por donde seguir, no encontraba nada en mis búsquedas……………………….    


Ya encuentro cosas para entretenerme.........................

https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/corkami/PE102posterV1.pdf
« Última modificación: 24 Octubre 2020, 01:21 am por FFernandez » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines