libsui 0.14.0

A injection tool for executable formats (ELF, PE, Mach-O) that allows you to embed files into existing binary and extract them at runtime
Documentation
extern "C" {
    fn dlsym(handle: isize, symbol: *const u8) -> usize;
    fn dlerror() -> *const u8;
}

#[no_mangle]
pub extern "C" fn exported_sym() {
    println!("Hello from exported_sym");
}

const RTLD_DEFAULT: isize = -2;

fn main() {
    if unsafe { dlsym(RTLD_DEFAULT, "exported_sym\0".as_ptr()) } == 0 {
        let err = unsafe { dlerror() };
        let err = unsafe { std::ffi::CStr::from_ptr(err as _) };
        let err = err.to_str().unwrap();
        eprintln!("Error: {}", err);
        panic!("Symbol not found");
    }
}