Skip to content

Build instruction and installation

yeggor edited this page Dec 20, 2023 · 9 revisions

We try to make the build process for all supported platforms very simple, just use the build script to automate this process.

Repository cloning and submodules updates

git clone git@github.com:binarly-io/efiXplorer.git
cd efiXplorer
git submodule update --init --recursive

Build script

./build.py
Usage: build.py [OPTIONS] COMMAND [ARGS]...

Options:
  --help  Show this message and exit.

Commands:
  build-everything  Build plugin (efiXplorer) and loader (efiXloader)
  build-loader      Build efiXloader
  build-plugin      Build efiXplorer plugin

Example of build process:

# build only efiXplorer binaries
python3 build.py build-plugin --hexrays_sdk=/path/to/hexrays_sdk /path/to/idasdk
# build only efiXloader binaries
python3 build.py build-loader /path/to/idasdk
# build efiXplorer and efiXloader binaries
python3 build.py build-everything --hexrays_sdk=/path/to/hexrays_sdk /path/to/idasdk

Compilation with cmake

mkdir build && cd build
cmake .. -DIdaSdk_ROOT_DIR=/path/to/idasdk -DHexRaysSdk_ROOT_DIR=/path/to/hexrays_sdk
cmake --build . --config Release

You can also check how it's done in build workflow.

Installation

efiXplorer

Copy compiled binaries of efiXplorer plugin and guids directory to <IDA_DIR>/plugins.

efiXloader

Copy builds/efiXloader64.dll to <IDA_DIR>/loaders.