How I Solved the Easy Crackme Repository on GitHub
silencedogood on 4:44 PM 12/13/2018: @nz4r I would recommend watching live-overflow's binary hacking tutorial and really study what he's saying. This is a relatively easy challenge as long as you put some thought into it.
This is a simple place where you can download crackmes to improve your reverse engineering skills. If you want to submit a crackme or a solution to one of them, you must register. But before that, I strongly recommend you to read the FAQ. If you have any kind of question regarding the website, a crackme, feel free to join the discord chat.
easy crackme download
There is no need of WinDbg(or any other debugger) to crack it as it is somewhat easy.Also no need of pseudocode as the code can easily be reversed from the assembly.And obviously it is unpacked.
Welcome back! Today we are tackling another Windows binary from crackmes.one. Unlike the previous binaries, this was compiled with C/C++ so we will not be able to use dnSpy or a similar tool to reverse this binary. There aren't any surprises in this binary just some tricky disassembly that I'll do my best to walk you through! If you want you can feel free to watch the YouTube video below or continue reading!
easy crackme download github
easy crackme download ipfs
easy crackme download zip
easy crackme download tutorial
easy crackme download challenge
easy crackme download solution
easy crackme download keygen
easy crackme download reverse engineering
easy crackme download beginner
easy crackme download windows
easy crackme download linux
easy crackme download mac
easy crackme download python
easy crackme download c++
easy crackme download java
easy crackme download assembly
easy crackme download ollydbg
easy crackme download x64dbg
easy crackme download ida pro
easy crackme download ghidra
easy crackme download radare2
easy crackme download gdb
easy crackme download binary ninja
easy crackme download hopper
easy crackme download cheat engine
easy crackme download frida
easy crackme download apktool
easy crackme download dex2jar
easy crackme download jd-gui
easy crackme download jadx
easy crackme download baksmali
easy crackme download smali patcher
easy crackme download android studio
easy crackme download apk editor pro
easy crackme download apk signer pro
easy crackme download apk analyzer pro
easy crackme download apk decompiler pro
easy crackme download apk recompiler pro
easy crackme download apk modifier pro
easy crackme download apk protector pro
I normally use my Windows VM to analyze Windows binaries but my Windows VM was acting a little funky so I used my Kali VM. Luckily we did not need to do any debugging to solve this challenge. If you're using a Kali VM you'll need to install wine to run the binary on Kali. If you're using my VM, you'll find this binary in the /home/kali/reverse_engineering/crackmes/find_the_pass directory. If not you can download the binary here. It comes in a password protected zip file. The password is "crackmes.one" without the quotes. With all of that out of the way let's get reversing!
We see what looks like a possible password (highlighted in red). There's no way it's this easy right? Well you know me, I am a try everything kind of guy so let's try to supply this password to the binary! We also see, we are to supply the password as an argument to the binary.
What is Reverse Code Engineering?Wikipedia definition is : Reverse engineering (RE) is the process of discovering the technological principles of a device, object or system through analysis of its structure, function and operation. It often involves taking something (e.g. a mechanical device, electronic component, or software program) apart and analyzing its workings in detail, usually to try to make a new device or program that does the same thing without copying anything from the original.Following articles are about Reverse Code Engineering (RCE). That is the process of discovering the behaviour and functionality of programs by decompiling, disassembling and investigating binary files. Because it is not allowed to reverse-engineer commercial applications (of course!) and to be 100% legal, only crackmes are targeted - these are small programs only coded with the target to be cracked. So RCE is somehow a puzzle for computerfreaks - you need skills of programming, assembly, operating systems, binary file structure and sometimes also mathematics and cryptography - so it's a quite interesting and a cool way to test and enhance your knowledge about software and computers. If I have awacken your interest keep on reading may tutorials and examples. You may also have a look atmy Links section where you can find the most important and best RCE-related websites.
In this article I'll show the things I tried, where and how I failed miserably and my final solution for this crackme. I really suggest that you download the crackme from tuts4you and try replicating each step along the way, that way it will be much easier to follow the article.
Yesterday Extreme Coders posted a small crackme on Tuts4You. It's quite an easy one but solving it would require either lots of typing or some clever automation. Of course, being lazy I went for the automation route! smile
In this tutorial I'll show you a generic way how to break most of the crackmes written in VB.NET. It uses the fact that most crackmes made by beginners will calculate correct serial and do a simple comparison "if enteredSerial = correctSerial then"...
Suprisingly, string comparison in VisualBasic.NET and other .NET languages is different. It's caused by Option Compare statement present in Visual Basic language. So, if the crackme is made in VB.NET, you need to examine Operators.CompareString(string,string,bool) function. For crackmes made in other languages, you'll need to examine string.Equals(string) or some other variation of this method.
There are several possible approaches. You can try using VisualStudio & Reflector plugin as SpoonStudio tried, you can try using ILSpy and it's debugger plugin, or you can inject DLL into crackme process, as suggested by noth!ng - but I prefer to use OllyDbg.
For example, we can use conditional logging breakpoints in Olly. Those breakpoints are quite slow, but it's still faster than to write some sort of hooking DLL and inject it into crackme. So, we need to set 2 logging breakpoints - one for each string compared. Here is first one:Place second breakpoint at the next instruction (59CD1D31) and log string at edx+8.