I am a newbie to reverse engineering software.

I am familiar x86 asm language, Linux internals, and c language.

After going through lots of tutorials, I didn't absorb much knowledge.
So, I have started writing my own programs then reversing them again from their binaries.

Is this approach good?

Also if I want to get more knowledge, a better grip on assembly and c, should I use ollydbg or IDA pro for starting?
Please recommend some links or books that would be good. :- )

4 Answers 4


When I started with reversing about 3 years ago I used the following books:

Both of these books have some really good newbie related content like recognizing C/C++ code constructs in assembly and introduction materials to various tools (both Ollydbg and Ida Pro). If you are more interested in Ida pro, I would suggest reading The Ida Pro Book. Also the book Practical Reverse Engineering has some really nice reviews but I didn't have a chance reading it.

For getting more familiar with Ollydbg I did most of the tutorials from the Legend Of Random page. I liked those tutorials because they don't just focus on reversing C/C++ binaries but also give you a brief look at tools and techniques with reversing Delphi and Visual Basic applications.

When you get a little bit more familiar with the following, I suggest you to try some crackmes from Crackmes.de. There are some great newbie related crackmes there like the Artur Dents series.

  • I could copy/paste this answer. Exactly the same steps, same books, same websites. Great advice.
    – Hackndo
    Commented Mar 8, 2016 at 6:00

Download and read Reverse Engineering for Beginners. It is excellent and free to download. It contains lots of theory and examples you can easily understand. Plus, it refers to all major architectures, x86, x86-64bit, ARM and MIPS. And one more thing. Yes, your approach is good, you just have to gradually start reversing more difficult programs, like self-made keygens and stuff.


If you're looking for more challenges like @ubnix suggested, try looking on the Tuts 4 You website. In the downloads section there are a lot of reverse-engineering resources, including crackmes, tutorials, tools, and references. One of the resources I used in learning was Lena's Reverse Engineering for Newbies.

  • The password is in the pop-up :)
    – ra170
    Commented Nov 13, 2017 at 14:15

I'd suggest: http://crackmes.de/ as a source of problems. Their problems are graduated from fairly easy to extremely difficult. In addition to problems, they do maintain a list of solutions (not for all problems though) if you get stuck.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.