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


 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el ttwitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Ingeniería Inversa (Moderadores: karmany, .:UND3R:., MCKSys Argentina)
| | |-+  Crackeando un programa [Consulta]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Crackeando un programa [Consulta]  (Leído 1,742 veces)
Keyen Night


Desconectado Desconectado

Mensajes: 496


Nothing


Ver Perfil
Crackeando un programa [Consulta]
« en: 21 Octubre 2014, 21:10 »

Buenos días/tardes/noches a todos en el foro :P

Soy algo nuevo en esto de la ingeniería inversa, así que pido disculpas si alguna afirmación no es correcta en lo que leerán a continuación xDDD

He estado leyendo a Ricardo Navaja y bueno me lance a la aventura de intentar crackear un programa que necesito, por la información que he podido recopilar está escrito en Microsoft Visual C++ 2010, usa Qt para la GUI y está protegido con VM Protect v1.60 - v2.05 según ProtectionId, VM Protect 2.x + Simple UPX cryptor según RDG y VM Protect según DIS. Se que esta protección es una de las más fuertes para ejecutables escritos en C++, pero como todo, difícil pero no imposible; por lo que he buscado recomiendan usar OllyDbg junto con los plugins Phat0m y StrongOD para hacer frente a VM Protect, pues los he cargado al OllyDbg y configurado como se debe (o al menos así parece), el programa ya no detecta al OllyDbg explitamente enviandote el clásico MessageBox indicando que ha detectado un depurador pero se queda sin hacer nada y parece no desempaquetar nada porque aún no se pueden ver los strings ni el código del modulo principal en claro.

De tal manera me fui por el Attach, con los plugins todo funciona bien pero colocar un breakpoint e intentar depurar hace que todo explote xD

No me importo al principio, pues solo quería encontrar el salto condicional y parchearlo jajajajaja, analizando un poco más a fondo básicamente el programa genera un HWID, siguiendo las conexiones con Wireshark he visto que envía por POST los datos a un servidor que en pocas palabras contesta HTTP/OK y un número, siguiendo esa respuesta en el OllyDbg el número termina pasando por un switch, tal como este:



Hay un case del switch para cada error posible (falla de conexión, prueba vencida, datos de conexión inválidos, etc), con su respectiva llamada al MessageBox de Qt para dar la información al usuario. Como no existe un case de éxito y está presente el default case he intentado saltar al default case de una vez pero no pasa nada, el programa se queda sin hacer nada, también he intentado saltar fuera del switch antes de entrar (esto hace que explote xD), imagino que por el estado de los registros.

Llevo varios días pegado tratando de averiguar a donde salta o a quien llama cuando todo sale bien, si alguien me pudiese dar una luz, sobre como depurarlo sin que explote (hace falta desempaquetar?) o hacia donde termina yéndose esto, o cualquier otra cosa que ustedes crean que es lo correcto, estaría muy agradecido.

Esta es la aplicación, es un bot de un juego, el enlace lo coloco desde mi Google Drive, para no poner directo el ejecutable desde la página del fabricante:

https://drive.google.com/file/d/0B3_t7GvNr0xvZTNyaFZqeWkzMjQ/view?usp=sharing

Gracias por leer este testamento xD
« Última modificación: 22 Octubre 2014, 07:26 por Keyen Night » En línea

La Fé Mueve Montañas...
                                    ...De Dinero

La programación es más que un trabajo es más que un hobby es una pasión...
Mister12


Desconectado Desconectado

Mensajes: 733



Ver Perfil
Re: Crackeando un programa [Consulta]
« Respuesta #1 en: 30 Octubre 2014, 21:35 »

Lo ayuda que solicitas no esta permitida en las reglas del foro. Saludos
En línea

From some where at the other side of the universe
Shout

Desconectado Desconectado

Mensajes: 191


Acid


Ver Perfil
Re: Crackeando un programa [Consulta]
« Respuesta #2 en: 9 Noviembre 2014, 23:32 »

Monta tu localhost, redirige el tráfico de esa web a tu localhost con el archivo hosts, y devuelve la respuesta que quieras


 :silbar: :silbar:
En línea

I'll bring you death and pestilence, I'll bring you down on my own
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Crackeando un programa
Ingeniería Inversa
Loxer7 1 1,595 Último mensaje 15 Septiembre 2004, 21:57
por Nand0
Crackeando un programa !!!!!!!!!!!!!
Ingeniería Inversa
al3 5 4,778 Último mensaje 10 Febrero 2005, 16:26
por al3
Crackeando un programa By KJD
Ingeniería Inversa
KJD 6 3,941 Último mensaje 18 Octubre 2008, 03:56
por KJD
crackeando un programa
Ingeniería Inversa
mauriufc 7 3,286 Último mensaje 1 Noviembre 2008, 18:21
por mauriufc
Crackeando programa
Ingeniería Inversa
AWES0MN 7 2,868 Último mensaje 3 Marzo 2013, 03:33
por apuromafo CLS
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines