as I said in my last post we’re coming to license key cracking. Note: I also said to make a challenge about nag removing but I think I cancel this because it’s just too easy (Think of a program with a message box at start; just remove the MessageBox() in code…). When we come to C++ this topic becomes interesting so you’ll see it then.
Description of the RE Challenge
Today we’ve got our first License algorithm (Yeah, everyone loves maths ). It’s not a very complex one, so I think it’s a good start for keyGens. KeyGens? Yep, this time you don’t have to find the password (Or a valid license in this case), but you should write a simple tool for finding valid ones.
-C# Reversing (Think I’ll remove this point in the next posts…)
-Maybe a bit better knowledge of programming with C#; if you worked with other languages you can of course also take python, etc (Would be interesting to see it in other languages too), but I think it can’t hurt to learn the language you are reversing
As always I highly recomment to take the obfuscated version but it’s Ok to have a look at the unobfuscated one too .
I thought of adding a new section for helping without divulge everything because the board got spoilers! At this point a BIG thanks for the admins here on 0x00sec! They added the feature at the same day I asked for it!
Hint 1: [Spoiler]Just Copy the license algorithm out of the decompiled program[/Spoiler]
Hint 2: [Spoiler]Brute-Force the license key[/Spoiler]
Hint 3: [Spoiler]Start with “11111111” and loop through it with incrementing it everytime[/Spoiler]
This time it’s just the source code for an example KeyGen. Try it out if you want: http://pastebin.com/jhLtAnsh
This time you can build your own KeyGen which is a great step . As last thing I ask you whether you are interested in harder challenges. Currently I’m working on a BIG project (More than just password cracking: Different cracking protections, requires much more time and thinking, different exercises; Should be 7.5/10 Difficulty) and I don’t know if I should use my time to post more basic articles first or if you have the fun and time for a bigger challenge. So you can chose between more basic articles in the next days and one bigger challenge.