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:
840227_v6hqsrp7my.jpg
So, we need more than 5 Signs.

840231_mq4yqy6a5m.jpg
Well, who would make a programm which passwords "123"?
Thats what well fix in this tut. :)


Patched:

Less than 5 signs:
840232_axufuk5wbk.jpg
Check!

840233_y65e8sbbwu.jpg
Check!


Now the KeyGen:

This is the thingy i created
840234_f2y8mr42rb.jpg

840235_vtkvmnezau.jpg
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.
840990_xmzntwtum7.jpg
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.