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
|-+  Programación
| |-+  Ingeniería Inversa (Moderadores: karmany, .:UND3R:., MCKSys Argentina)
| | |-+  Novateando con un programa.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Novateando con un programa.  (Leído 3,057 veces)
M0str3nc0

Desconectado Desconectado

Mensajes: 3



Ver Perfil
Novateando con un programa.
« en: 22 Julio 2010, 06:47 am »

Hola a todos y mis respetos para quienes practican el arte de la ingenieria
inversa.

De a poco, estoy tratando de meterme en el asunto; vi algo de Assembler hace muchos años y de veras, todo esto es grandioso y hasta enviciador  ;D
 Pues bueno, tengo un programa del cual estoy intentando extraer la contraseña, para ello, estoy usando algunos tutoriales de Narvaja que me sirven de base para lograr mi objetivo. OllyDbg 1.10 es la herramienta de trabajo. Entonces, que hice:

* La lista de cadenas (All referenced strings) estan en ingles pero el programa muestra todos sus mensajes en español :o  No estoy seguro si la traduccion se hace a traves del servicio WMI.  :o

* El mensaje de error (chico malo) no esta en los mensajes en ingles.

* Trate de acercarme mediante la lista de ventanas (opcion W) pero la que
muestra el error no se detiene con el BP en ella.

* Tampoco tuve suerte con los mensajes de Windows. Poniendo el BP condicional en el boton "Siguiente", codigo 202 tampoco funciona. Sigue derecho y no para. (hay que escribir la contraseña "mala", oculta con * y dar Siguiente para validarla).

* No se como captura los caracteres pero definitivamente no es con  GetDlgItemTextA ni GetWindowTextA (no estan en el listado de Ctrl + N).

Mejor dicho, el programa parece inocente (ni siquiera esta empacado, hecho en Visual C++) pero esta aprovechando mi inexperiencia para reirse de mi. Vi que usa IsDebuggerPresent mas si pongo BP, nunca llega (o no parece). Igual tengo el plugin de Olly para tal efecto.

El consejo que necesito es saber que estoy haciendo mal y/o que otra ruta puedo tomar para acercarme a la comparacion de los seriales, que debe estar justo despues de hacer click en Siguiente, una vez lo escribes.

Gracias por adelantado.

M0str3nc0.
En línea

LSL

Desconectado Desconectado

Mensajes: 239

Cls


Ver Perfil
Re: Novateando con un programa.
« Respuesta #1 en: 22 Julio 2010, 12:22 pm »

como las referencias a las string están en inglés, prueba a configurar el programa para que se muestre en ingles, en vez de traducido al español, así te será mas facil localizar los mensajes originales.

Si no puedes configurarlo en su idioma natural, busca los mensajes en memoria con Alt+M, Control+Inicio y Control+B (para buscar), una vez localizado el texto, le pones un "Breakpoint > Memory on access".
En línea

Saludos.

LSL.
gastonp

Desconectado Desconectado

Mensajes: 32


Ver Perfil
Re: Novateando con un programa.
« Respuesta #2 en: 22 Julio 2010, 12:25 pm »

Hola M0str3nc0, yo también soy nuevo en esto pero si me decis cual es el programa quizas pueda darte una mano (dos cabezas piensan mas que una  :D).
Con respecto a la API IsDebuggerPresent, si tenes un plugin que la evita Olly no se va a detener ahí.
Saludos
En línea

M0str3nc0

Desconectado Desconectado

Mensajes: 3



Ver Perfil
Re: Novateando con un programa.
« Respuesta #3 en: 22 Julio 2010, 14:56 pm »

Hola gastonp.

500 % de acuerdo  ;D No puse el programa por seguir las reglas del foro  ;) Solo lo dire si los moderadores estan de acuerdo.

Un saludo y gracias.
En línea

tena


Desconectado Desconectado

Mensajes: 668



Ver Perfil
Re: Novateando con un programa.
« Respuesta #4 en: 23 Julio 2010, 00:29 am »

Ejecutas el programa en el olydbg....
Te vas a la ventana de registro, escribe algun pass falso, y das aceptar,
te saldra la ventana de Serial Incorrecto,
volves al ollydbg, y lo pausas, luego presionas Alt+F9,
regresas al programa y aceptas el mensaje,
el olydbg deberia parar, y estaras justo debajo de la call que te saca el mensaje malo.

Luego es cuestion de buscar por ahi arriba

slds
En línea

yako-_-

Desconectado Desconectado

Mensajes: 157


Heroes Del Silencio


Ver Perfil
Re: Novateando con un programa.
« Respuesta #5 en: 23 Julio 2010, 06:57 am »

Buen dato tenna me lo apunto!! ;-) esa forma no la sabia yo


Un saludo!!
En línea

Para que vivir, pudiendo trabajar los Domingos

                                                                Yako-_-
M0str3nc0

Desconectado Desconectado

Mensajes: 3



Ver Perfil
Re: Novateando con un programa.
« Respuesta #6 en: 23 Julio 2010, 20:35 pm »

Hola a todos.  ;D

Que pena la demora, tengo mucho trabajo acumulado y no he podido encargarme como quisiera.

El enfoque de LSL es muy bueno, no se me habia ocurrido. Pero no aparecen las cadenas traducidas en el bloque de memoria  :( Incluso cuando el mensaje de error esta en pantalla no se ve. Igual este metodo se ve prometedor para futuras ediciones.

Baje el plugin OllyAdvanced (muy bueno!) y le endureci el mecanismo de ocultacion; solo por si las moscas ;) el resultado para M es el mismo: no se ven.

Tena: No he podido probarlo a fondo pero inicialmente SI LE DOLIO al maldito programa: Aterrizo muy cerca y alcanzo a ver los parametros de llamada.  ;D

Tratare de terminar lo pendiente y le caigo con toda energia.

Saludos.
En línea

LSL

Desconectado Desconectado

Mensajes: 239

Cls


Ver Perfil
Re: Novateando con un programa.
« Respuesta #7 en: 24 Julio 2010, 00:42 am »

Cuando buscas en memoria el text de un mensaje, este puede estar en formato ACII ó en formato UNICODE, para buscarlo en formato unicode lo debes escribir en la ventana de busqueda en el apartado de unicode, pero en memoria siempre está sino no lo verias en pantalla.
Si no encuentras el texto completo, busca el titulo de la ventana, alguna palabra suelta, etc.

Si el texto no está en memoria puede ser que el mensaje en si sea una imagen prediseñada tipo bmp por ejemplo.
En línea

Saludos.

LSL.
Páginas: [1] Ir Arriba Respuesta Imprimir 

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