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

 

 


Tema destacado: Tutorial básico de Quickjs


+  Foro de elhacker.net
|-+  Programación
| |-+  Ingeniería Inversa (Moderadores: karmany, .:UND3R:., MCKSys Argentina)
| | |-+  Duda OllyDbg Narvaja
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Duda OllyDbg Narvaja  (Leído 4,364 veces)
lubo

Desconectado Desconectado

Mensajes: 10


Ver Perfil
Duda OllyDbg Narvaja
« en: 29 Octubre 2013, 02:23 am »

Buenos días :D.

Verán, me he metido de lleno con las cabeceras PE, el debugging y tal, en fin, el caso es que cuando debuggeo los ejecutables del tutorial de Narvaja, es un código muy breve y entendible.
Imagen de ejemplo: http://subefotos.com/ver/?6c38917b99e5e067be95a34afb2d8a55o.png

Y si yo ahora programo, por ejemplo, un HolaMundo en C y lo compilo con Microsoft Visual Studio C++, lo abro para debuggear y me aparece esto:
Imagen: http://subefotos.com/ver/?647bc4683ebdc7fd73287d2f04feb42co.png

Que no es absolutamente nada de lo que me he encontrado hasta ahora (sí, sé lo que significa ese main unicode, pero no consigo llegar al código ni nada, y no sé por qué no aparecía en los tutos de Narvaja, supongo que los exes estarán compilados en Win98 y con otro compilador)... Encima el código generado por Visual C++ está lleno de funciones como isDebuggerPresent(), y eso que le pongo que me compile como Release, no como Debug. Si pulso F9 no imprime Hola Mundo en el cmd, ya que me detecta que estoy usando un debugger.


Código en C compilado:
Código
  1. #include <stdio.h>
  2.  
  3. int main(int argc, char *argv[]) // Pongo un main "de toda la vida"
  4. {
  5.  printf("Hola Mundo\n");
  6.  
  7.  return 0;
  8. }

Una ayudita, por favor, esto me interesa de verdad.
En línea

apuromafo CLS


Desconectado Desconectado

Mensajes: 1.441



Ver Perfil WWW
Re: Duda OllyDbg Narvaja
« Respuesta #1 en: 29 Octubre 2013, 02:28 am »

la deteccion de isdebuggerpresent es solo entre 0 y 1, o un salto, sugiero sigas leyendo

respecto de la string, en algun lado está almacenado , de más que lo encuentras en search all reference string


bueno paso a paso, leyendo es como se aprende, te sugiero aprendas a usar ollydbg en xp sp3, si no tienes ese s.o. intenta en una máquina virtual...

un saludo Apuromafo
En línea

Apuromafo
lubo

Desconectado Desconectado

Mensajes: 10


Ver Perfil
Re: Duda OllyDbg Narvaja
« Respuesta #2 en: 29 Octubre 2013, 02:46 am »

la deteccion de isdebuggerpresent es solo entre 0 y 1, o un salto, sugiero sigas leyendo

respecto de la string, en algun lado está almacenado , de más que lo encuentras en search all reference string


bueno paso a paso, leyendo es como se aprende, te sugiero aprendas a usar ollydbg en xp sp3, si no tienes ese s.o. intenta en una máquina virtual...

un saludo Apuromafo

Sé lo del return de isDebuggerPresent(), y uso WinXP x86 virtualizado.  Lo que preguntaba era por qué son tan diferentes los EXEs. Son tan fáciles en el tuto de Narvaja y los exes generados con MVC++ empiezan por ese main unicode, tienen protecciones antidebugger, etc. Y si hay algún tuto o algo para entender todo esto nuevo. ¿En el nuevo tuto de OllyDbg siguen siendo los códigos tan simples? Gracias :).
En línea

MCKSys Argentina
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.471


Diviértete crackeando, que para eso estamos!


Ver Perfil
Re: Duda OllyDbg Narvaja
« Respuesta #3 en: 29 Octubre 2013, 05:34 am »

Lo que preguntaba era por qué son tan diferentes los EXEs. Son tan fáciles en el tuto de Narvaja y los exes generados con MVC++ empiezan por ese main unicode, tienen protecciones antidebugger, etc. Y si hay algún tuto o algo para entender todo esto nuevo. ¿En el nuevo tuto de OllyDbg siguen siendo los códigos tan simples?

La primer imagen que colocaste corresponde a un ejecutable hecho en ASM. El ejecutable tiene sólo lo básico y por ende, es muy sencillo y simple.

Por otro lado, están tratando de ver algo parecido usando un compilador moderno, el cual tiene 200.000 cosas nuevas. Por ejemplo: proteccion contra buffer overflows.

La guia de ricardo trata lo basico. Lo minimo y necesario para que empieces a depurar los programas por ti mismo.

Tee recomiendo que analices tu exe y veas qué es cada parte. Los sectores de meemoria en los que están las cosas. Eso es 100 veces mejor que cualquier tutorial.

Saludos!
En línea

MCKSys Argentina

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

lubo

Desconectado Desconectado

Mensajes: 10


Ver Perfil
Re: Duda OllyDbg Narvaja
« Respuesta #4 en: 29 Octubre 2013, 09:18 am »

La primer imagen que colocaste corresponde a un ejecutable hecho en ASM. El ejecutable tiene sólo lo básico y por ende, es muy sencillo y simple.

Por otro lado, están tratando de ver algo parecido usando un compilador moderno, el cual tiene 200.000 cosas nuevas. Por ejemplo: proteccion contra buffer overflows.

La guia de ricardo trata lo basico. Lo minimo y necesario para que empieces a depurar los programas por ti mismo.

Tee recomiendo que analices tu exe y veas qué es cada parte. Los sectores de meemoria en los que están las cosas. Eso es 100 veces mejor que cualquier tutorial.

Saludos!

¡Vaya! Qué lástima, aunque de todas formas tengo entendido que esas protecciones se pueden saltar con una buena shellcode. Yendo al grano, y una vez aclarada mi pregunta, tengo dos dudas. Yo estoy siguiendo el viejo tutorial de Narvaja, ¿me recomendáis terminarlo y empezar el nuevo, o abandonarlo y empezar el nuevo?

¿Si compilo Asm con VC++ también me añadirá mil protecciones al exe?
Ejemplo:
Código
  1. __asm
  2. {
  3.  ; ... cargar gets()
  4.  ; etc
  5.  push 0
  6.  ret
  7. }

Eso es todo, muchas gracias.
En línea

MCKSys Argentina
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.471


Diviértete crackeando, que para eso estamos!


Ver Perfil
Re: Duda OllyDbg Narvaja
« Respuesta #5 en: 29 Octubre 2013, 20:42 pm »

Yo estoy siguiendo el viejo tutorial de Narvaja, ¿me recomendáis terminarlo y empezar el nuevo, o abandonarlo y empezar el nuevo?

Creo que lo recomendable es hacer el nuevo, pero es decisión tuya.

¿Si compilo Asm con VC++ también me añadirá mil protecciones al exe?
Ejemplo:
Código
  1. __asm
  2. {
  3.  ; ... cargar gets()
  4.  ; etc
  5.  push 0
  6.  ret
  7. }

En este caso no estoy seguro, pues no sé si puedes configurar el VC++ para que genere ejecutables mínimos como uno hecho en ASM.

Como opción, te sugiero bajarte el paquete MASM e instalarte un IDE. Por ejemplo, yo uso WinAsm, pero hay muchos otros.

Saludos!
En línea

MCKSys Argentina

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

lubo

Desconectado Desconectado

Mensajes: 10


Ver Perfil
Re: Duda OllyDbg Narvaja
« Respuesta #6 en: 30 Octubre 2013, 10:09 am »

Pues yo uso el SDK MASM32, pero WinAsm tiene buena pinta, ya que qeditr.exe (MASM32) no colorea el texto. ¿Puedo usar los mismos .inc y todo igual que en MASM32, ¿no?
En línea

MCKSys Argentina
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.471


Diviértete crackeando, que para eso estamos!


Ver Perfil
Re: Duda OllyDbg Narvaja
« Respuesta #7 en: 30 Octubre 2013, 22:51 pm »

Si
En línea

MCKSys Argentina

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

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Duda Ollydbg « 1 2 »
Ingeniería Inversa
pintuflas 11 7,420 Último mensaje 29 Mayo 2008, 14:27 pm
por byebye
Duda parte 54 Ricardo narvaja tabla TLS CALLBACK
Ingeniería Inversa
.:UND3R:. 8 4,070 Último mensaje 25 Julio 2011, 15:41 pm
por _Enko
Ollydbg capítulo 29 Ricardo Narvaja
Ingeniería Inversa
lucke 9 4,913 Último mensaje 14 Febrero 2012, 13:26 pm
por lucke
Duda con leccion 51 de Ricardo narvaja « 1 2 »
Ingeniería Inversa
Flamer 12 7,341 Último mensaje 8 Abril 2013, 22:19 pm
por MCKSys Argentina
Duda sobre Curso Nuevo de Ricardo Narvaja !!
Ingeniería Inversa
TrashAmbishion 2 3,047 Último mensaje 15 Agosto 2013, 05:31 am
por TrashAmbishion
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines