QBDL: QuarkslaB Dynamic Loader — Adrien Guinet, Romain Thomas
Date : 03 June 2021 à 10:15 — 15 min.
The QuarkslaB Dynamic Loader (QBDL) library aims at providing a modular and portable way to dynamically load and link binaries.
The goals of the library are:
- provide a simple-to-use abstraction to load dynamically linked binaries
- modular enough to be able to load binaries in foreign systems or lightweight sandboxes (e.g. Miasm's sandbox, or Triton's engine)
- support loading and dynamic linking of PE/ELF/MachO binaries
- cross-platform and portable library
Notable non goals of the library:
- provide full operating system (re)implementations, like Wine or Darling.
- get the best performance out of all dynamic loaders. Said differently, performance can be scarified for better modularity, in order to make the library usable in various reverse engineering scenarios.
- supports architectures where pointer values are bigger than 64 bits.