ReversingHero: Learn Reverse Engineering (x64)

Hi, I just finished creating the first iteration of ReversingHero challenge.
It can be found here: https://www.reversinghero.com

ReversingHero a reverse engineering self learning kit (x86_64) wrapped inside one binary file. It is made of about 15 levels, with difficulty gradually increasing. There are no specific rules for solving the levels: everything is allowed.

There is also a set of videos containing hints and solutions for every level. The videos are currently being edited. Until they are ready, you can start taking a look at the binary (:

xorpd.

34 Likes

Only looked through the first 5 levels so far, but it’s quite a lot of fun!
Especially the 5th one was great (though it took me some time until I saw the actual solution, I spent way too much time fixing the swapping code itself trying to get the numbers to correctly add up).

Also motivates me to read through my hardcopy of xchg rax,rax again and see how much of it I remember :smiley:

2 Likes

Pretty quick! Glad you liked it.

2 Likes

Thanks for this! Will be working on it this weekend! :smiley:

1 Like

Hi, just wanted to update that the solution videos for ReversingHero are complete!
You can find them on https://www.reversinghero.com

3 Likes

Hi everyone, first off sorry for bumping this topic but I really need some opinions from you guys.

I’m just starting out with RE and I’ve been stuck on the 2nd challenge (x2) for the past few days and would like to know how difficult those challenges are? I mean, is it normal to struggle so much on such an early level or maybe all this hacking stuff is sort of… not my thing?

How did you guys go about solving x2? I’m using IDA and I’ve found the decompiler output awful, especially for the hashing function, so I’m trying to translate the assembly code into C code myself but it’s being very difficult and time-consuming…

Any tips on how to approach this? Maybe I need to study more ASM x64? Get to know some tools?
(btw I’m using IDA for static analysis and GDB (gef) for dynamic analysis (watching registers basically))

2 Likes

Where You’re stuck ?

Which binary are you trying to reverse, mate? Level 1? Level 2? Which one? This one? :slight_smile:

MD5 (reversinghero.x86-64) = 9dc09ce632cb2e225c484f1c1b6e1a8c

This is awesome and really good for me thanks for this …!!!

Thanks for the post! i have always been interested in such topics as Reverse Engineering. its more than just copying something. its about learning how things work and what it does, from what i heard it is very useful skill overall. This is great and ill be sure to check it out when im free.

2 Likes