-
Notifications
You must be signed in to change notification settings - Fork 16
Installation
Installation of efi_fuzz
can be done either manually or via Docker.
-
If running on Windows, install WSL. We recommend WSL2 as opposed to the original WSL, which tends to be slow sometimes. The full installation instructions for Windows 10 can be found here: https://docs.microsoft.com/en-us/windows/wsl/install-win10
-
Inside the WSL distribution, install some necessary packages that will allow us to compile C source code:
sudo apt install build-essential automake
-
Install AFL++ with Unicorn mode support.
3.1 Clone the repository:
git clone https://github.com/AFLplusplus/AFLplusplus
cd AFLplusplus
3.2. Build core AFL++ binaries:
make
3.3. Build the Unicorn support feature:
cd unicorn_mode
./build_unicorn_support.sh
3.4. Install everything:
make install
-
Clone
efi_fuzz
and install the required dependencies:
git clone https://github.com/Sentinel-One/efi_fuzz
pip install -r efi_fuzz/requirements.txt
Triton is required for taint propagation. Instructions for installing Triton can be found here:
https://triton.quarkslab.com/documentation/doxygen/#install_sec
-
If running on Windows, install WSL. We recommend WSL2 as opposed to the original WSL, which tends to be slow sometimes. The full installation instructions for Windows 10 can be found here: https://docs.microsoft.com/en-us/windows/wsl/install-win10
-
Build the Docker image:
docker build -t efi_fuzz .
-
Use the environment:
docker run -v $PWD:/efi_fuzz -it efi_fuzz sh -c "cd /efi_fuzz ; bash"
After installation is complete, it's recommended to run the provided tests to make sure efi_fuzz
functions properly:
cd tests && pytest -s -v -W ignore::DeprecationWarning