Welcome to DVUEFI!
Before we can begin exploring UEFI vulnerabilities, we must setup our environment. While the environment differs slightly from stage to stage, some elements remain the same.
EDK II is the firmware reference implementation that forms a base for the first two stages (and is used in the last stage also).
We recommend using our docker image to set up the toolchain. See here for instructions on how to build the image and use it to compile the firmware. To use this method, you have to have docker installed on your system.
If you would prefer not to use docker, you can try to install the dependencies that the docker image uses directly on your system, and follow the rest of the instructions as if you were using docker.
QEMU can be installed with your package manager, from pre-existing binaries (hosted here for windows), or by compiling it from source.
See also:
Note: when compiling for Linux, you can configure the build with ./configure --enable-slirp
to enable networking, which will be useful for future DVUEFI challenges.
Recently, VMware workstation PRO was made free for personal use.
Unfortunately, we found it quite tricky to obtain the build from the Broadcom website, so we continue using the free VMWare Workstation Player, which can be downloaded for both Windows and Linux from here.
On some Linux installations, we've found that VMWare Player was failing to build some of its required drivers. To fix this, we've used the vmware-host-modules repository.