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

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Ingeniería Inversa (Moderadores: karmany, .:UND3R:., MCKSys Argentina)
| | |-+  Crackme ¿Eres capaz de resolverlo?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: Crackme ¿Eres capaz de resolverlo?  (Leído 8,473 veces)
Mad Antrax
Colaborador
***
Desconectado Desconectado

Mensajes: 2.166


Cheats y Trainers para todos!


Ver Perfil WWW
Re: Crackme ¿Eres capaz de resolverlo?
« Respuesta #10 en: 16 Enero 2013, 21:45 pm »

si, force la string de correcto :D lee lo anterior
(aqui escribe ya en casi su totalidad en la direccion 406040)

me quedo con "muy bien "  gracias por tu crackme

, si no es la solucion correcta, pues animo, todos miramos de diferente forma los crackmes

Bueno, te explico:

Lo que has hecho es cambiar el mensaje de incorrecto por correcto, eso podría parecer una buena forma, pero si miramos de forma más global, tu ejecutable parcheado jamás entra en la zona de código que muestra el mensaje correcto.

Si en lugar de mostrar un mensaje, el crackme tuviera que registrar el programa (escribir en el registro, generar un keyfile o lo que sea) jamás se ejecutaría, me explico? Sencillamente tu solución ejecuta la sección de código "malo", pero la string que muestra pone "correcto", así que, sintiéndolo mucho, no has superado el crackme :(

Has avanzado mucho, tienes el exe descomprimido, solo te falta debuggear un poco más :P
En línea

No hago hacks/cheats para juegos Online.
Tampoco ayudo a nadie a realizar hacks/cheats para juegos Online.
Karman


Desconectado Desconectado

Mensajes: 673



Ver Perfil WWW
Re: Crackme ¿Eres capaz de resolverlo?
« Respuesta #11 en: 17 Enero 2013, 00:38 am »

Es la primera vez que crackeo un programa visual basic... y la verdad es una bost*** :P, me pierden esas funciones raras... de todas formas, (a pesar de nunca haber tocado un programa en VB) creo que encontré la solución... el punto a controlar es:

Citar
00403D12 CALL NEAR DWORD PTR DS:[40106C] ; msvbvm60.__vbaStrCmp

Si prueban con varios strings base va a ver que el algoritmo es muy simple... la clave es: batman (el autor entenderá :P)

S2

PD: Este es mi mensaje Nº 666 (coincidencia? :P)
« Última modificación: 17 Enero 2013, 01:20 am por Karman » En línea

MCKSys Argentina
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.524


Diviértete crackeando, que para eso estamos!


Ver Perfil
Re: Crackme ¿Eres capaz de resolverlo?
« Respuesta #12 en: 17 Enero 2013, 03:20 am »

Bueno, lo he mirado y está divertido. Lo recomiendo para quienes se están iniciando, como práctica.

Por lo pronto, algunos datos:

1) Para desempacar el exe original, recordar lo básico sobres los EP de los EXEs hechos en VB5/6 (El runtime es la clave para llegar al OEP! (y para restaurarlo)).

2) Una vez desempacado el primero, basta con revisar un poco el código para ver que está sacando el segundo EXE de los recursos. (CUSTOM)

3) Por último, para desempacar el segundo EXE, es sencillo, y la técnica de PUSHAD-POPAD es suficiente (Por cierto, el packer usado es MPRESS: http://www.matcode.com/mpress.htm)

Luego, basta con seguir el código. Para esto, nos podemos valer de VBDecompiler o mejor aún, usar los puntos magicos de VB (en el caso de VB6, hay que buscar F3A5FFD08BE55D8945FC8B45FC5F5EC9C20C00)

Por las dudas, como se dijo antes, se usa StrCmp para comparar el serial cifrado con el serial correcto (cifrado tambien).

La tecnica de encriptacion usada es caesar y se distribuye asi:

abcdefghijklmnopqrstuvwxyz
fghijklmnopqrstuvwxyz{|}01

Como es evidente, poniendo un BP en msvbvm60.__vbaStrCmp vamos a ver ambos strings y usando el alfabeto anterior sale la password, la cual es: un superhéroe con capa roja.

Como dije antes, está bueno para practicar.

Saludos!

PD: Por las dudas, si alguien lo quiere ver desde cero, dejo referencias sobre VB:

Disassembling Visual Basic Applications por Sanchit Karve
Visual Basic Image Internal Structure Format por Alex Ionescu
Visual Basic Reversed - A decompiling approach por AndreaGeddon
Teorías sobre VB de la web de Ricardo Narvaja (www.ricardonarvaja.info)
-Teoría 011-Olly y Visual Basic por COCO
-Teoría 012-Olly y Visual Basic 2 por COCO
-Teoría 061-Olly y Visual Basic 3 por COCO
-Teoría 190-Olly y Visual Basic 4 por COCO
-Teoría 235-Punto Magico VB6 por ARAPUMK
-Teoría 236-Punto MagicoII VB6 por ARAPUMK
-Teoría 242-OEP en VB por ARAPUMK
En línea

MCKSys Argentina

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

Mad Antrax
Colaborador
***
Desconectado Desconectado

Mensajes: 2.166


Cheats y Trainers para todos!


Ver Perfil WWW
Re: Crackme ¿Eres capaz de resolverlo?
« Respuesta #13 en: 17 Enero 2013, 08:27 am »

Completamente correcto

VB6 tiene muchas debilidades para el tema de crackme's, los tipo serialme basta con buscar StrCmp ya que el 90% de casos se utilizará dicha función.

Bien jugado, ya como dije, era un crackme sencillito

Felicitaciones :D
En línea

No hago hacks/cheats para juegos Online.
Tampoco ayudo a nadie a realizar hacks/cheats para juegos Online.
apuromafo CLS


Desconectado Desconectado

Mensajes: 1.441



Ver Perfil WWW
Re: Crackme ¿Eres capaz de resolverlo?
« Respuesta #14 en: 17 Enero 2013, 21:57 pm »

bueno ya todo esta dicho el +5 es caesar ( el a es f por:  a+1=b  a+2=c a+3=d a+4=e a+5=f  )

string1: xzujwrfs

Citar
La tecnica de encriptacion usada es caesar y se distribuye asi:

abcdefghijklmnopqrstuvwxyz
fghijklmnopqrstuvwxyz{|}01


por lo cual es claro cual es el superheroe de la capa roja y traje debil a kriptonita



la primera vez escribi ese nombre, y luego intente parcharlo buscando no sep, el mensaje..no el algoritmo primero, pero lo que es interesante ver que no es facil parcharlo y que igual dira el mismo mensaje ;) , aunque no sea la mejor forma

posiblemente otra idea seria parcharlo a modo que siempre que ingresen un serial este sea la variable cifrada?, o bien que siempre ingrese el serial correcto..o  olvidarse de el caption y editar para que siempre este escrito la palabra..
no se, son varios caminos que se ocurren
saludos Apuromafo

En línea

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

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Desafio, eres capaz de sacar la contraseña? [BATCH] « 1 2 »
Scripting
ne0x 17 19,305 Último mensaje 15 Agosto 2011, 00:25 am
por jhonatanAsm
Un Acertijo Mas... Haber si puedes resolverlo
Desafíos - Wargames
traviatØ 6 7,274 Último mensaje 1 Agosto 2011, 08:35 am
por Diego Arenas
[Duda] Otra forma de resolverlo?
Programación C/C++
criskapunk 6 2,873 Último mensaje 18 Julio 2011, 13:45 pm
por criskapunk
¿Eres capaz de superar el examen de Google en una entrevista de trabajo?
Noticias
wolfbcn 2 2,615 Último mensaje 22 Octubre 2015, 17:52 pm
por #!drvy
¿Eres capaz de escribir 36 palabras por minuto en tu ‘smartphone’?
Noticias
wolfbcn 1 1,331 Último mensaje 18 Octubre 2019, 03:32 am
por @XSStringManolo
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines