This is a basic tut for ppl who want to get into Reverse Code Engineering, subgenre Cracking :).
Our investigations will be on KGNME-1 by KiTo.
What we need too, is a debugger, disassembler, decompiler or Hex Editor; for the pros among u ;).
In my view, its the best way to use a debugger, cuz its dynamic.I used x64dbg. So can u do.
Here are the links to all needed stuff.
~ Kitos crackme (Rename it to .exe)
~ x64dbg
Whatll do in this tut, is Patching the app and fishing the key, so that we can write a keygen.
Here is a small before and after comparison: :d
Pure:
So, we need more than 5 Signs.
Well, who would make a programm which passwords "123"?
Thats what well fix in this tut. :)
Patched:
Less than 5 signs:
Check!
Check!
Now the KeyGen:
This is the thingy i created
And we see, it worx. :)
To begin, lets just patch the app so that we can use every key to get a "Good Work" output.
Load the programm into odb, x64, ida or whatever.
Since we get the message: "Must be atleast 5 chars..." we take a look at the strings in the programm at first. In olly and x64dbg: right click --> search for --> strings.
Set a breakpoint on the address, where the string is called with F2, restart the programm and enter a short name again.
At adress 0040194C u can see, that the number of letters you entered, is compared to 4. If its greater that 4, then the programm jumps over the Must-be-atleast-5-message. At this point u should edit the line so that it jumps always before it moves the string onto the stack.