Hola, estoy intentando crackear un crackme hecho en VB, utilizo el Olly y hago lo siguiente:
- El crackme tiene un cuadro de texto, debajo un botón y debajo un cuadro de texto en el que pone bien o mal si se hacierta el serial o no.
Sigo un tutorial de Coco en el que se explica que VB utiliza generalmente los registro EAX, ECX y EDX, y en el Olly se puede buscar el valor de estos.
Hay que hacer FIND COMMAND (control + F) y probar con alguna de estas CALL:
Visual Basic 5.0
CALL [EAX+000000A0]
CALL [EDX+000000A0]
CALL [ECX+000000A4]
Visual Basic 6.0
CALL [EAX+000000A0]
CALL [ECX+000000A0]
Poner un bp, F9 y tracear hasta llegar a:
API: MSVBVM60.__vbaVarTstEq (comparar cadenas)
entrar en esta Call ,tracear y donde pone PUSH 0, hacer CLIC DERECHO sobre el registro EAX,EDX o ECX (según que call se ha utilizado de las que estan escritas arriba) - FOLLOW IN STACK, y en la ventana STACK debería de poner el valor.
He probado esto con los registros EAX, ECX y EDX, pero no lo he conseguido. ???
Si alguien puede corregir algo de lo que he escrito o escribir algún otro procedimiento, estaré muy agradecido.
Saludos.