Reverse Engineering Challenges by Dennis Yorichev.
After the challenge/exercise listing:
About the website
Well, “challenges” is a loud word, these are rather just exercises.
Some exercises were in my book for beginners, some were in my blog, and I eventually decided to keep them all in one single place like this website, so be it.
The source code of this website is also available at GitHub: https://github.com/dennis714/challenges.re. I would love to get any suggestions and notices about misspellings and typos.
Exercise numbers
There is no correlation between exercise number and hardness. Sorry: I add new exercises occasionally and I can’t use some fixed numbering system, so numbers are chaotic and has no meaning at all.
On the other hand, I can assure, exercise numbers will never change, so my readers can refer to them, and they are also referred from my book for beginners.
Duplicates
There are some pieces of code which are really does the same thing, but in different ways. Or maybe it is implemented for different architectures (x86 and Java VM/.NET). That’s OK.
…
A major resource for anyone interested in learning reverse engineering!
If you are in the job market, Dennis concludes with this advice:
How can I measure my performance?
- As far as I can realize, If reverse engineer can solve most of these exercises, he is a hot target for head hunters (programming jobs in general).
- Those who can solve from ¼ to ½ of all levels, perhaps, can freely apply for reverse engineering/malware analysts/vulnerability research job positions.
- If you feel even first level is too hard for you, you may probably drop the idea to learn RE.
You have a target, the book and the exercises. The rest is up to you.