A transcript of https://web.archive.org/web/20230221052105/https://twitter.com/coder_rc/status/1608385931463258112 [Reverse Engineering resources]
Are you interested in learning reverse engineering in 2023?
I've spent the this year studying RE, and I want to share all the resources that helped me along the way in the following tweets. Trust me, you won't be disappointed! 🧵
Assembly:
https://asmtutor.com (Linux focused)
https://plantation-productions.com/Webster/www.artofasm.com/Windows/index.html - Win
https://plantation-productions.com/Webster/www.artofasm.com/Linux/index.html - Linux
https://godbolt.org - Live C to asm
https://cs.lmu.edu/~ray/notes/x86assembly/ - Win32/Linux
https://sonictk.github.io/asm_tutorial/ - Modern Win
https://felixcloutier.com/x86/index.html
After learning assembly, you can try some projects like making a bootloader or a whole simple Operating System.
I have wrote a blog on this topic, here:
https://de-engineer.github.io/Understanding-booting-process-and-writing-own-os/
Other resources:
http://brokenthorn.com/Resources/OSDev1.html
https://raw.githubusercontent.com/tuhdo/os01/master/Operating_Systems_From_0_to_1.pdf
https://cs.bham.ac.uk/~exr/lectures/opsys/10_11/lectures/os-dev.pdf
Now you can start learning the analysis side:
- https://begin.re by
@OphirHarpaz - https://artik.blue/reversing by
@artikblue - https://legend.octopuslabs.io/sample-page.html
- https://youtube.com/watch?v=mDyQBM-_T1g
- https://youtube.com/watch?v=gPsYkV7-yJk
- https://youtube.com/watch?v=d4Pgi5XML8E
- https://youtube.com/watch?v=9vKG8-TnawY (Recommended)
Start to get your hands dirtyâš¡ - https://crackmes.one
- https://github.com/Maijin/radare2-workshop-2015/tree/master/IOLI-crackme
- http://reversing.kr/challenge.php
-
Deobfuscation & Unpacking: - https://vadesecure.com/en/blog/malware-analysis-understanding-code-obfuscation-techniques
- https://youtube.com/watch?v=bEsQ8UYioU4
- https://0x00sec.org/t/packers-executable-compression-and-data-obfuscation/847
- https://blackhat.com/presentations/bh-usa-07/Yason/Whitepaper/bh-usa-07-yason-WP.pdf
- https://varonis.com/blog/x64dbg-unpack-malware
- https://apr4h.github.io/2021-05-01-Manually-Unpacking-Remcos-Malware/
- https://youtube.com/watch?v=EdchPEHnohw
-
Anti-debug: - https://iopscience.iop.org/article/10.1088/1742-6596/1744/4/042186/pdf
- https://wikileaks.org/vault7/document/2015-07-PoC-Anti_Debugging_and_Anti_Emulation/2015-07-PoC-Anti_Debugging_and_Anti_Emulation.pdf
- https://anti-reversing.com/Downloads/Anti-Reversing/The_Ultimate_Anti-Reversing_Reference.pdf
- https://anti-debug.checkpoint.com
- https://youtube.com/watch?v=WlE8abc8V-4
Anti-analysis:
- https://malwarebytes.com/blog/news/2014/09/five-anti-debugging-tricks-that-sometimes-fool-analysts
- https://oic-cert.org/en/download/Anti-Analysis%20techniques%20(OIC%20Talk).pdf
- https://cynet.com/attack-techniques-hands-on/malware-anti-vm-techniques/
-
If you want to get into Windows Research, then you need to learn Windows Internals.
I have wrote about the most important basic topics like Processes, Virtual Memory and others on my blog as I was not able to find good resources for them, more to come:
https://de-engineer.github.io
https://learn.microsoft.com/en-us/sysinternals/resources/windows-internals - Book on Windows Internals published by MS. Use it like a reference to learn about specific topics when needed.
- https://pluralsight.com/authors/pavel-yosifovich -
@zodiacon
has the best video courses. - https://youtube.com/watch?v=4AkzIbmI3q4
- https://samsclass.info/140/lec/Excerpted-PRE07_Solomon.pdf
- https://vimeo.com/49347561
-Another thread that I wrote this year: https://web.archive.org/web/20230221052504/https://twitter.com/coder_rc/status/1489246670647103492 - https://youtube.com/watch?v=NzzS9DqPPfw
- https://ragestorm.net/blogs/?cat=13
- https://cs.miami.edu/home/burt/journal/NT/handle_table.html
- http://terminus.rewolf.pl/terminus/
- https://ntopcode.wordpress.com/2018/02/26/anatomy-of-the-process-environment-block-peb-windows-internals/
- https://msreverseengineering.com/blog/2014/6/23/compiler-optimizations-for-reverse-engineers
- https://versprite.com/blog/security-research/reverse-engineering-undocumented-structures/
- https://posts.specterops.io/methodology-for-static-reverse-engineering-of-windows-kernel-drivers-3115b2efed83
- https://unit42.paloaltonetworks.com/what-i-learned-from-reverse-engineering-windows-containers/
- https://alice.climent-pommeret.red/posts/a-syscall-journey-in-the-windows-kernel/
- https://x86matthew.com
- https://secret.club
- https://tiraniddo.dev
- https://googleprojectzero.blogspot.com
-https://pastebin.com/NXxrYHp8 - slideshare.net/kentwelcome1/r…
- slideshare.net/nullbytecon/wi…
- i.u-tokyo.ac.jp/edu/training/s…
-https://codemachine.com/articles/kernel_callback_functions.html
I hope these resources help you in learning Reverse Engineering effectively✨
It took me almost 3 hours to compile all these together but I'm glad I did it :D