
Reversing
I decided to post my solution of some ‘crackmes’ on my blog. Today i coded the simplest crackme, i made it using pascal since i haven’t used it for a while. I haven’t used any kind of encryption, packing, junk code, obfuscation…. So after the 1 min code writing, i compiled and opened the debugger…
But lets show you the crackme first:

Clicking the ok button returns ‘Wrong Password’ since ‘Username’ and ‘Password’ is not a valid password.
So i searched for the string reference ‘Wrong Password’ and i got the address where its moved to the EAX register, later the message box is called and a the bad message appears.

The program compares the valid strings with the input strings and if equal execution proceeds to good boy message. So just assemble a jmp and avoid the bad message:

And thats it…..

There are more solutions to this, like changing the flags. But i didn’t bother since this is too easy. Also you can clearly see that the username is ‘Lady’ and password is ‘Gaga’, you could just use these too.