---
description: >-
  To be well-prepared for exploring and experimenting with advanced exploitation
  techniques, it is crucial to ensure that all necessary software and tools are
  correctly installed and configured.
---

# Required Software and Tools

Out of all sections this one is likely to change most often. It is advisable to return to this page often to see what software and tools is required. As the course develops different Operating System versions and software may need to be installed.

The following list of tools will be used throughout:

* A Windows 10 Virtual Machine (version doesn't really matter) in which to debug user mode and kernel mode.
* Windbg Preview will be used for debugging.
* IDA Free will be used to reverse engineer binaries.
* SysInternals tools will be used to examine various objects.
* Visual Studio Community will be used to write and compile exploit code.
* Visual Studio Code will be used to write assembly instructions.
* NASM will be used to compile assembly instructions.
* A Windows 10 Virtual Machine (I use version 1607) in which to run vulnerable applicationas and drivers. This can be any Windows version you want, just be aware that mitigations and structures may differ. If sepecific versions are used I will explicitly mention this.

It is not possible for the author to provide a pre-built and licensed VM image, it is left to the reader to provide this themselves. Where possible, the course will explain how to configure tools.

**Note:** other tools will be mentioned throughout, references are provided in the _References_ section.
