Skip to content

Build instruction and installation

yeggor edited this page Nov 5, 2024 · 11 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.

Note

In the case of idasdk90 (beta 4 and above), hexrays.hpp is in idasdk90/include, so /path/to/hexrays_sdk should be the same as /path/to/idasdk.

Installation

efiXplorer

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

Note

When installing efiXplorer for IDA 9.0, only one library file should be used, e.g.: ln -s $(pwd)/efiXplorer/build/efiXplorer64.dylib ~/.idapro/plugins/efiXplorer.dylib

efiXloader

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