Introduction:This is going to be a long thread so get yourself some popcorn and a coke and you should be fine.
As I said in the begging you are going to crack your first program, the program is called ‘Crack me’, crack mes programs are meant to be cracked so they have no security system.
I’ll make a tutorial on how to bypass different security systems in a different thread.
Setup:To start our journey you will need a debugger, in this case, x64dbg.
Download link:
x64dbg
VT link:
VirusTotal
To open it just unzip, go on release and click on x96dbg.exe
Next you will need the crack me, there are a lot of crack mes out there, but for this tutorial we will be using the “Mexican Crackme”
Download link:
https://github.com/cspinstructor/github-...exican.zip
Vt link:
VirusTotal
Password:
crackinglessons.com
Part 1:To start cracking you need to now what you will be cracking
So first you will need to open the program, you will probably need turn off your antivirus as it detects as a false positive.
To open the program run the cmd and drag the exe to it.
You will see a message “Try harder”
Your objective is to bypass this message and get the flag stored on the program.
Part 2:Now that you know how the program works and your objective, you can start cracking
First you will need to open the crack me with the x64dbg, to do that just drag the Untitled1.exe to the x96dbg.
A window should pop up with a lot of information that you might not understand, I’ll explain it to you but first
You will need to configure your x64dbg, to do so go to Options/Preferences make sure your preferences look like this
(http://imgur.com/a%2FBgydqZj)
Part 3:Now I can explain you what the “Weird symbols”are.
1-address, It represents where the “commands” are located.
2- Machine language, we are not going to look at it in this tutorial.
3-Assembly language, it’s basically the machine language translated, so we can now read and understand what the program is doing.
Assembly language basics:
jmp – jump
je/jle – Jump if…
mov – make register value = something.
sub – subtract value from register.
cmp – compare 2 values
nop – code that does nothing (Really important)
for this tutorial we only will be using jmp, je/jle, nop and cmp.
[Hidden content]