As a developer, reverse engineering has always fascinated me. It amazes me to see what some people can figure out just from a dump of assembly code, and I would like to become better at doing the same.

There are many websites that specialize in helping developers become better at writing code and solving problems through small challenges. An example of what I mean are websites like LeetCode, Codewars, etc. What websites are available with challenges that are specific to reverse engineering?


1 Answer 1


The best way to learn is really 4 things:

  1. Search up "Crackme" and "reverseme" on your favorite search engine

  2. Go to CTFTime.org, https://www.picoctf.org/ and similar sites, and work on the Reverse Engineering challenges there

  3. Try reverse engineering actual software you are interested in learning

  4. Learn about interaction between the operating system and the application you are reverse engineering interact. For example on Windows, learning the WinAPI would be useful, and on Linux the Linux programming interface. The reason is that you will know simply by a program's imported functions on those operating systems what it is likely doing in a broad sense. Like, if it imports networking and cryptography OS APIs, well, you can surmise what it might be doing, etc...

You could also look at YouTube videos. Other than that, it's basically trial and error, there aren't really many "official courses" on it tbh. AFAIK, there isn't an equivalent to something like leetcode or AlgoExpert aside from that I suggested.

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