On last week’s Learn with Us, we went through resources that laid the foundation of your understanding in C and Assembly Languages to kickstart your journey in embedded system programming. This week, we can move on to resources to help your learning in Reverse Engineering, and we hope you enjoy them! ?
To begin this second phase, I highly recommend the Binary Exploitation Playlist by LiveOverflow!
This playlist covers just about everything you would need to know for getting started, and the video content is digestible for anyone at just about any level. You don’t necessarily have to complete the entire playlist to move on and verify your learning with other resources, but this playlist has been the starting point for many in getting familiar with binary exploitation and reverse engineering, so it would definitely be worth finishing during your meal or travel times when you have nothing else to do ✨
After you have completed the playlist, the following are more recommended resources that can be followed in no particular order. In fact, you may even find yourself hopping through each of them without ever fully completing any, but as long as it helps your learning, that is completely fine too 😀
Courses / Workshops / Short Tutorials:
- 0xZ0F Reverse Engineering Course: https://github.com/0xZ0F/Z0FCourse_ReverseEngineering
- Classes by OpenSecurityTraining.info: https://opensecuritytraining.info/Training.html
- Modern Binary Exploitation Class: http://security.cs.rpi.edu/courses/binexp-spring2015/
- RPISEC Malware Analysis Class Material: https://github.com/RPISEC/Malware
- Reverse Engineering Workshop: https://www.begin.re/the-workshop
- Nightmare – A reverse engineering/binary exploitation course: https://guyinatuxedo.github.io/index.html
- MalwareUnicorn Reverse Engineering 101 & 102 Workshop:
- Reverse Engineering Tutorials: https://github.com/GeoSn0w/Reverse-Engineering-Tutorials
If you prefer learning by books, these are some books that may help as well:
- Shellcoder’s Handbook: Discovering and Exploiting Security Holes
- Practical Reverse Engineering: x86, x64, ARM, Windows Kernel, reversing tools, and obfuscation
- Hacking: The Art of Exploitation
Finally, while learning, you could always find challenges and exercises to try out and check your progress.
- Reverse Engineering Self-Learning Kit: https://www.reversinghero.com/
- Test Reverse Engineering Skills using Crackmes: https://crackmes.one/
- Embedded Security CTF Challenge using a debugger: https://microcorruption.com/
- Reverse Engineering Exercises (no solutions): https://challenges.re/
Hope you found this post useful!
A lot of the best resources for reverse engineering may not be the most visually-pleasing, but I hope you won’t give up even as you go through them and, most importantly, find the fun in learning about reverse engineering 😀
Thank you for reading~