Back to the Basics: A Refresher on x86 Assembly
thefueley
Introduction
For my second post, I’m excited to share my journey into a crucial skill for anyone interested in software reverse engineering and malware research: x86 Assembly (ASM). While this isn’t my first time learning ASM, I previously covered enough for a Reverse Software Engineering course at the University of Maryland. I’m returning to the subject for a refresher. My goal is to strengthen my foundational knowledge and go deeper into the intricacies of this low-level language.
My Learning Plan
I’ll be using the book “Beginning x64 Assembly Programming From Novice to AVX Professional” by Jo Van Hoey as my guide. This book will serve as a structured path to not only refresh my memory but also to learn new concepts and techniques. My process will involve working through the book’s exercises and examples.
My Technical Setup
To ensure a safe and isolated environment for coding and testing, I’ve set up a virtual machine. I’m running VMware Fusion on my MacBook Pro 2019 (Intel hardware), with the guest operating system being Fedora 42 Workstation. This setup will allow me to practice the concepts and complete the exercises from the book without affecting my host machine.
Why This Matters
For those aspiring to get into malware analysis or reverse engineering, a solid grasp of assembly language is non-negotiable. It’s the language of the processor, and understanding it allows you to see exactly what a program is doing at its most fundamental level. This knowledge is key to uncovering hidden functionalities, identifying vulnerabilities, and reverse-engineering malicious code.
I look forward to sharing my progress and insights with you all. Stay tuned for updates on my journey through the world of x86 Assembly!