Blog gratis
Reportar
Editar
¡Crea tu blog!
Compartir
¡Sorpréndeme!
Blog de la Escuela de Educación Secundaria Técnica N 8 de Quilmes
Administrador Prof. Claudio Enrique Alonso Alvite
img
10 de Abril, 2015    General

Resolviendo un Crackme con WinAPIOverride

En el mundo de la informática siempre se ha dicho eso de 'Existen muchas formas de llegar al mismo resultado' y lo cierto es que, en ocasiones, resulta muy divertido e interesante comparar aproximaciones de varias personas frente a un mismo problema / desafío.

El caso de los 'Crackmes' es paradigmático a la hora de ver posibles soluciones a un mismo final. 

Hoy voy a explicar como resolver un -muy- sencillo crackme haciendo hooking empleando la sensacional herramienta WinAPIOverride. El objetivo es resolver el crackme de una forma poco convencional alterando la función lstrcmpi() que, como se puede ver en MSDN, se dedica a comparar dos strings y decir si son iguales o no.

El crackme en cuestión tiene esta pinta:





Y como es fácil intuir, se trata de meter un serial que, en algún punto del programa, se compara con el bueno y en base a eso obtenemos un OK o




Si observamos con Olly donde está la parte interesante:


Podemos ver que se van a comparar dos cadenas y, si son iguales, saltamos a la parte de 'Congrats' y si no lo son, nos vamos a 'Sorry'. 

En este punto la forma más fácil de resolver el crackme es 'tocar' Z para forzar el salto si-o-si pero vamos a salirnos de la forma convencional y a resolverlo de otra forma.

Usando WinAPIOverride vamos a crear una DLL que contenga una función que siempre haga return 0, haremos esto para sobre-escribir lstrcmpi() ya que, esta función devuelve 0 si ... 'If the strings are equal, the return value is zero' con lo que, si nuestra función siempre devuelve 0, el objetivo es que cada vez que sea llamada lstrcmpi(), se ejecute nuestra función y por lo tanto la comparación sea siempre positiva. 

De esta forma, cuando el Crackme use la función, se devolverá un 0 y siempre caerá en la parte 'Congrats'

WinAPIOverride viene con un SDK que nos permite construir DLLs para hooking de una forma muy sencilla, ya que hay varios ejemplos re-utilizables.

En nuestro caso, crear la función 'mágica' ha sido tan fácil como coger uno de los ejemplos y a partir de ahí, crear la nueva función


Una vez compilada nuestra DLL, simplemente tenemos que pedir a WinAPIOverride que se ocupe de cargar la DLL y hacer el hook


De esa forma, una vez WinAPIOverride ejecute el crackme, cualquier llamada a lstrcmpi siempre va a devolver 0. Lo probamos


¡¡ Perfecto !! ha funcionado y hemos conseguido 'engañar' al programa.

Y esto es solo la punta del iceberg de WinAPIOverride, la herramienta tiene bastantes más funcionalidades, como por ejemplo, la posibilidad de 'logear' funciones y sus parámetros al estilo API Monitor. Os animo a todos a descargarla y darle un vistazo !

Autor: Yago Jesus
Palabras claves , , ,
publicado por alonsoclaudio a las 22:20 · Sin comentarios  ·  Recomendar
 
Más sobre este tema ·  Participar
Comentarios (0) ·  Enviar comentario
Enviar comentario

Nombre:

E-Mail (no será publicado):

Sitio Web (opcional):

Recordar mis datos.
Escriba el código que visualiza en la imagen Escriba el código [Regenerar]:
Formato de texto permitido: <b>Negrita</b>, <i>Cursiva</i>, <u>Subrayado</u>,
<li>· Lista</li>
CALENDARIO
Ver mes anterior Noviembre 2017 Ver mes siguiente
DOLUMAMIJUVISA
1234
567891011
12131415161718
19202122232425
2627282930
BUSCADOR
Blog   Web
TÓPICOS
» General (2606)
NUBE DE TAGS  [?]
SECCIONES
» Inicio
ENLACES
MÁS LEÍDOS
» Cómo espiar WhatsApp
» Cómo usar Metashield protector for Client y por qué utilizarlo
» Ejecución remota de código arbitrario en OpenSSH
» Ganar dinero con 1.200 Millones de identidades robadas
» Hardware y sus 4 Funcionamientos Basicos y Principales en una Computadora
» #Phishing masivo a #BancoFrances, #PagoMisCuentas y #Movistar (110 afectados en 4 horas)
» Redes de la Deep Web: CJDNS y la Red Hyperboria
» Unidad Central de Procesamiento CPU
» Vulnerabilidad en Youtube permitió borrar cualquier video
» Wassap, la aplicación que permite usar WhatsApp desde la PC
SE COMENTA...
» Cómo espiar WhatsApp
29 Comentarios: prudent hackers, global hackers, SOLUTION HACKERS, [...] ...
» Curso en línea "Fundamentos de Administración de Sistemas Linux"
1 Comentario: ruchiroshni
» SoftPerfect WiFi Guard permite saber quién esta conectado a mi WiFi
1 Comentario: carlos lopez
» Analizando el LiveBox 2.1 de Orange
2 Comentarios: Nadie, brahim
» Antenas WiFi de gran potencia. Enlaces a 1.000 Km.
2 Comentarios: julio enoy, julio enoy
SOBRE MÍ
FOTO

Prof. Claudio Enrique Alonso Alvite



» Ver perfil

AL MARGEN
Escuela de Educacion Secundaria Tecnica N 8 de Quilmes
(Técnicos en Informática Personal y Profesional)
FULLServices Network | Blogger | Privacidad