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

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Análisis y Diseño de Malware (Moderador: fary)
| | |-+  Como determinar cuando ha sido modificada la AddressOfEntryPoint de un PE
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Como determinar cuando ha sido modificada la AddressOfEntryPoint de un PE  (Leído 3,001 veces)
vvictoristudio

Desconectado Desconectado

Mensajes: 10


Ver Perfil
Como determinar cuando ha sido modificada la AddressOfEntryPoint de un PE
« en: 28 Abril 2011, 01:24 am »

Pues eso mismo como puedo determinar cuando una archivo PE le ha sido modificada su AddressOfEntryPoint

Les agradeceria cualquier ayuda de antemano
En línea

~

Desconectado Desconectado

Mensajes: 67



Ver Perfil WWW
Re: Como determinar cuando ha sido modificada la AddressOfEntryPoint de un PE
« Respuesta #1 en: 28 Abril 2011, 01:47 am »

No se me ocurre una forma predefinida de hacer eso porque ese es un campo simple que puede apuntar a cualquier parte dentro de la imágen del ejecutable.

La forma más fácil que se me ocurre es saber de antemano la dirección a la que debe apuntar ese campo, el checksum del programa en cuestión, su tamaño original y conocer las instrucciones que deberían estar en el punto de entrada al que apunta el AddressOfEntryPoint, además de algún tipo de mapa de secuencia de instrucciones que permita determinar si la estructura de una versión de un ejecutable está alterada.

El AddressOfEntryPoint no necesariamente tiene que apuntar al inicio de la sección de código sino que puede llevar a cualquier lugar dentro de esta, y es algo perfectamente normal y común.
En línea

Sitio web (si la siguiente imagen no aparece es porque está offline):
Karcrack


Desconectado Desconectado

Mensajes: 2.417


Se siente observado ¬¬'


Ver Perfil
Re: Como determinar cuando ha sido modificada la AddressOfEntryPoint de un PE
« Respuesta #2 en: 28 Abril 2011, 15:26 pm »

Si el cambio esta bien hecho nunca podrás saber si se cambio... En caso de estar mal cambiada si que podrás ver que el checksum que hay en la cabecera no esta bien..
Código:
http://advancevb.com.ar/?p=50
En línea

~

Desconectado Desconectado

Mensajes: 67



Ver Perfil WWW
Re: Como determinar cuando ha sido modificada la AddressOfEntryPoint de un PE
« Respuesta #3 en: 29 Abril 2011, 01:49 am »

Muchos programas (la mayoría) tienen un valor de 0 en el checksum de la cabecera PE. Solo a los drivers, DLLs y ejecutables de sistema se les requiere tener un checksum válido.

Por eso depender de este campo no es bueno para determinar un cambio en el ejecutable. Sería mejor calcular desde el principio un checksum global con MD5 o SHA-1 a todo el archivo .EXE, y guardarlo como clave en un lugar seguro, no en el .EXE, para volver a comparar cuando se necesite.
En línea

Sitio web (si la siguiente imagen no aparece es porque está offline):
Karcrack


Desconectado Desconectado

Mensajes: 2.417


Se siente observado ¬¬'


Ver Perfil
Re: Como determinar cuando ha sido modificada la AddressOfEntryPoint de un PE
« Respuesta #4 en: 29 Abril 2011, 10:40 am »

En ese caso tendras que haber tenido el ejecutable con anterioridad. Entonces seria mejor guardar el EP orginal. Aunque no es requerido el checksum muchos compiladores lo añaden de forma automatizada.
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