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

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Ingeniería Inversa (Moderadores: karmany, .:UND3R:., MCKSys Argentina)
| | |-+  El codigo misterioso ...o es que no lo se ver
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: El codigo misterioso ...o es que no lo se ver  (Leído 4,741 veces)
Tinkipinki

Desconectado Desconectado

Mensajes: 242



Ver Perfil
El codigo misterioso ...o es que no lo se ver
« en: 11 Septiembre 2011, 21:05 pm »

Hola a todos:
Esto tiene que ver a razon de este post:
http://foro.elhacker.net/ingenieria_inversa/como_conocer_el_offset_de_una_direccion_en_ollydbg-t338573.0.html

Citar
Me surge otra duda:

Si tenemos un programa con el principio de codigo en el Olly por ejemplo en 401000 con un offset 400 pero mas arriba en el Olly no hay codigo pero estamos en el offset 400 per en el editor hex de 400 a 000 hay mas codigo.
¿Pues donde se encuentran estas lineas de codigo que faltan pertenecientes sa las cabeceras en el Olly?

Saludos

Saludos
En línea

Иōҳ


Desconectado Desconectado

Mensajes: 563


Ver Perfil
Re: El codigo misterioso ...o es que no lo se ver
« Respuesta #1 en: 12 Septiembre 2011, 04:30 am »

No entendí muy bien tu pregunta, pero estudiastes el formato PE?, si el entry point 00401000 su RAW es el offset 400 a eso te refieres?.

Lo que creo que entendí, es que hay más arriba del EntryPoint no?

pues facil:

Formato PE

http://foro.elhacker.net/analisis_y_diseno_de_malware/abril_negro_2008_taller_de_formato_pe_by_ferchu-t208278.0.html

Cabecera DOS
Stub Dos
Cabecera PE
Tabla de secciones
1º sección
2° Sección
N° Secciones

el EP que tu vez en el Olly está en la sección .CODE, así que tenes todo eso antes de las secciones.

Nox.
En línea

Eres adicto a la Ing. Inversa? -> www.noxsoft.net
_Enko


Desconectado Desconectado

Mensajes: 538



Ver Perfil WWW
Re: El codigo misterioso ...o es que no lo se ver
« Respuesta #2 en: 12 Septiembre 2011, 15:25 pm »

nada te impide tener codigo antes del EP.....

Código:
section '.data'
;variables

section '.code'
proc1;
proc2;
proc3;

EntryPoint:
push ebp
mov ebp, esp
call proc1;
call proc2;
call proc3;
pop ebp
ret

o bien, en section '.data' en vez de haber variables, puede haber codigo
« Última modificación: 12 Septiembre 2011, 15:28 pm por _Enko » En línea

MCKSys Argentina
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.465


Diviértete crackeando, que para eso estamos!


Ver Perfil
Re: El codigo misterioso ...o es que no lo se ver
« Respuesta #3 en: 12 Septiembre 2011, 16:11 pm »

Pero para ejecutar en .data (o cualquier otra), deberas modificar el PE header, para que la sección tenga permisos de ejecucion, o bien, darselos usando VirtualProtect...
En línea

MCKSys Argentina

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

_Enko


Desconectado Desconectado

Mensajes: 538



Ver Perfil WWW
Re: El codigo misterioso ...o es que no lo se ver
« Respuesta #4 en: 12 Septiembre 2011, 17:20 pm »

No necesariamente. Depende de:
El compilador (Si coloca o no coloca el flag NX, No eXecute)
El SO (segun la version de windows, algunas no le prestan atencion)

Código:
section '.data' redeable writeable
xor eax, eax
ret
Si se compila sin el flag NX, el codigo se ejecuta igualmente en winxp y win7 probado.

http://en.wikipedia.org/wiki/NX_bit
« Última modificación: 12 Septiembre 2011, 17:22 pm por _Enko » En línea

Иōҳ


Desconectado Desconectado

Mensajes: 563


Ver Perfil
Re: El codigo misterioso ...o es que no lo se ver
« Respuesta #5 en: 12 Septiembre 2011, 20:17 pm »

Pero para ejecutar en .data (o cualquier otra), deberas modificar el PE header, para que la sección tenga permisos de ejecucion, o bien, darselos usando VirtualProtect...

Es que Fly tiene mente de cracker por eso de modificar el PE, jeje...

Citar
No necesariamente. Depende de:
El compilador (Si coloca o no coloca el flag NX, No eXecute)
El SO (segun la version de windows, algunas no le prestan atencion)

Exacto, aunque también se lo puedes dar a la hora de linkear, en los comandos que usas para tal acción, almenos es lo que yo hago :B
En línea

Eres adicto a la Ing. Inversa? -> www.noxsoft.net
Tinkipinki

Desconectado Desconectado

Mensajes: 242



Ver Perfil
Re: El codigo misterioso ...o es que no lo se ver
« Respuesta #6 en: 12 Septiembre 2011, 20:34 pm »

Uy.. vosotros vais unas cuantas clases mas adelantadas que yo y no hay quien os entienda jeje.. :xD
Igual no he sabido explicarme, os cuento:
Si abrimos el notepad con un editor hexadecimal vemos que los offset van del 00000000 al 000111F0.
Si lo abrimos con el Olly vemos que analiza el codigo de 01001000 offset 00000400 a 01008FFF offset 00007BFA.
Lo que me pregunto es porque no aparece en el Olly el codigo que va del offset 00000000 a 00000400?

Saludos
En línea

MCKSys Argentina
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.465


Diviértete crackeando, que para eso estamos!


Ver Perfil
Re: El codigo misterioso ...o es que no lo se ver
« Respuesta #7 en: 12 Septiembre 2011, 21:33 pm »

El tema es que cuando cargas un EXE en Olly, lo estas viendo mapeado en memoria, lo cual es muy diferente a como lo ves en el disco (editor Hexa).

Te recomiendo seguir (o empezar) con los cursos de Ricardo Narvaja.

Saludos!
En línea

MCKSys Argentina

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

Иōҳ


Desconectado Desconectado

Mensajes: 563


Ver Perfil
Re: El codigo misterioso ...o es que no lo se ver
« Respuesta #8 en: 12 Septiembre 2011, 21:34 pm »

Uy.. vosotros vais unas cuantas clases mas adelantadas que yo y no hay quien os entienda jeje.. :xD
Igual no he sabido explicarme, os cuento:
Si abrimos el notepad con un editor hexadecimal vemos que los offset van del 00000000 al 000111F0.
Si lo abrimos con el Olly vemos que analiza el codigo de 01001000 offset 00000400 a 01008FFF offset 00007BFA.
Lo que me pregunto es porque no aparece en el Olly el codigo que va del offset 00000000 a 00000400?

Saludos



Ese es un Crackme que tengo a la mano, je es un DELPHI, ahí te enseño el OEP.

Luego te vas a la ventana Memory y vez esto

Memory map, item 19
 Address=00400000
 Size=00001000 (4096.)
 Owner=Nox_Dump 00400000 (itself)
 Section=
 Contains=PE header
 Type=Imag 01001002
 Access=R
 Initial access=RWE

Que es donde empieza el proggie.

Sí vemos el DUMP vez esto:

00400000    4D 5A       ASCII "MZ"           ; DOS EXE Signature

La ImagenBase es está (no la muestro en la img que puse)

00400134    00004000    DD 00400000          ; ImageBase = 400000

Así que si restamos la addy donde empieza el proggie (el header)

00400000 - ImageBase = Offset en disco (la que tú vez en tu HexEditor)

Reemplazamos:

00400000 - 00400000 = 0, que sería el Offset


AQUÍ, te lo explican mejor, está es la segunda vez que te doy el link, leelo, que parece que no tienes ganas de hacerlo, yo tampocó lo tendré al no leer tus próximos post.

http://foro.elhacker.net/analisis_y_diseno_de_malware/abril_negro_2008_taller_de_formato_pe_by_ferchu-t208278.0.html

Advertencia - mientras estabas escribiendo, una nueva respuesta fue publicada. Probablemente desees revisar tu mensaje.



« Última modificación: 12 Septiembre 2011, 21:44 pm por Иōҳ » En línea

Eres adicto a la Ing. Inversa? -> www.noxsoft.net
Tinkipinki

Desconectado Desconectado

Mensajes: 242



Ver Perfil
Re: El codigo misterioso ...o es que no lo se ver
« Respuesta #9 en: 12 Septiembre 2011, 23:18 pm »

Ante todo gracias por buestras respuestas y disculparme si en cualquier momento alguien ha pensado en que no tenia el suficiente interes en asimilar lo que me explicais.
Escribir es complicado y a veces lo que uno intenta transmitir puede no ser interpretado como uno quisiera.

Citar
AQUÍ, te lo explican mejor, está es la segunda vez que te doy el link, leelo, que parece que no tienes ganas de hacerlo, yo tampocó lo tendré al no leer tus próximos post.

Иōҳ, la razon de este post surgio precisamente a la lectura del tutorial de Ferchu antes de que tu publicaras el primer post donde pone los ejemplos con el editor hexadecimal para saber encontrar las diferentes cabeceras y entender un poco la estructura de un EXE.
No comentarte nada en la referencia al lik en tu post ha estado un acto reflejo para que tu respuesta tuviera la importancia que debia tener, tu me pasas la informacion y yo te agradezco el post. Yo creo que hubiera quedado muy mal  que que hubiese contestado "Es que ya lo estaba leyendo antes de que tu me lo pasaras" o cualquier otra respuesta que diera a entender que ya lo conocia, para mi, una respuesta como esta queda feo.
Gracias por tu ultimo post.

Иōҳ, _Enko, MCKSys Argentina os pido mis mas humildes disculpas por este entuerto.

Saludos

En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
¿Se ve capaz de resolver el 'código McCormick'? Un misterioso asesinato trae ...
Noticias
wolfbcn 0 1,067 Último mensaje 8 Febrero 2016, 15:27 pm
por wolfbcn
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines