skip to content
Posts · September 2025

Binary Exploitation 101 - Setup


Welcome to my blog series “Binary Exploitation 101”! In this series, you will learn how programs actually work, why common vulnerabilities such as stack overflow and use-after-free are dangerous, and how to prevent them. We’ll explore these topics through both attack techniques and their corresponding mitigations.

Before we dive in, the first step is setting up your environment. This is probably the most tedious part, but also one of the most challenging for beginners.

This series mainly focuses on x86-64 Linux environments (Ubuntu 24.04). In this article, I’ll explain two setup options: using Docker with Visual Studio Code or using a virtual machine. If you already have an x86-64 Linux environment, the first option is the easiest.

Installation steps and tool usage can vary depending on the version, so I won’t go into detailed step-by-step instructions here. Please refer to the official documentation. If you encounter any issues during setup or find solutions, feel free to share them in the comments below.

Using Docker + Visual Studio Code

  1. Install Git.
  2. Clone the repository.
  3. Install Docker.
  4. Install Visual Studio Code and the Dev Containers extension.
  5. Open the folder you cloned in step 2 with Visual Studio Code, and press Ctrl + Shift + P to open the command palette, then search for and select > Dev Containers: Reopen in Container:

Using a Virtual Machine

  1. Install VMware Workstation Pro.
  2. Download Ubuntu 24.04 LTS ISO image and create a VM.
  3. Install open-vm-tools-desktop:
Terminal window
sudo apt-get update
sudo apt-get install -y open-vm-tools-desktop
  1. Install Git:
Terminal window
sudo apt-get install -y git
  1. Clone the repository:
Terminal window
git clone https://github.com/r1ru/binary-exploitation-101
  1. Run setup.sh:
Terminal window
./setup.sh
  1. Install your preferred text editor.