A lightweight
, extensible
, and high-performance
library for loading ELF files.
It implements the general steps for loading ELF files and leaves extension interfaces, allowing users to implement their own customized loaders.
This repository provides an example of a mini-loader implemented using elf_loader
. The miniloader can load PIE files and currently only supports x86_64
.
Load ls
:
$ cargo build --release -p mini-loader --target=x86_64-unknown-none
$ ./mini-loader /bin/ls
It should be noted that mini-loader must be compiled with the release parameter.
dlopen-rs is also implemented based on the elf_loader library. It implements the functionality of dlopen, allowing dynamic libraries to be opened at runtime.