Reverse Engineering Volume 1: Computer Architecture


About Reverse Engineering

Practical Reverse Engineering requires the Engineer in question, to have a strong grasp over a few concepts. Computer Architecture, Programming languages (Most notably, C) Operating systems, Binaries, Assembly & Disassembly and Analysis methods. I’ll go over each concept in my series of Reverse Engineering fundamentals starting from Computer Architecture.

About the geek

Yo, I’m the geek. I’m a 17-year-old Cybersecurity Student currently practicing low-level programming and reverse engineering in my 3rd and last year at a vocational institute in Helsinki, Finland. In this series of reverse engineering fundamentals, I’ll be learning alongside you. From another point of view, you may view this series as my personal notebook. So enjoy the free notes. I’ll be sure to include a few practical tasks between each concept, as a way to reinforce what we’ve covered For the more technical folk reading my slop, you may complain about my reversing methods via Github Issues (since this is a statically generated website). I’d really appreciate the feedback & tips.

How to use my notes

Although Windows is a comfortable operating system for most users, I’ll be using Linux throughout this series. Hopefully I’ll be able to influence the Windows readers to transition to Linux by bringing out the true nature of UNIX operating systems. I’ll be dabbling with many tools, so I strongly encourage you to download and experiment with the same tools. I should mention it being easier to use the tools on Linux. There’ll be a lot of stuff I do on my own that won’t be covered in these posts, such as debugging code and poking around resources. My Obsidian Vault will also be on my Github page for anyone looking to download my notes.