A Windows Portable Executable Manual Map Loader that supports both executable and DLL types. Written in Rust
GetModuleHandle
, GetModuleFileName
, and moreGetModuleHandle(null)
to resolve to the mapped moduleLet me know if something doesn't work by opening an issue. It has only been tested on Windows 10 20H2, and likely won't work on Windows 7 and prior. To see if it works on your system, run cargo test
GetModuleInformation
and related functions will not find the loaded module. This is because the linked lists that are used to find the module for these functions are sanity checked and protected by the kernel, and the first access after modifying these structures would result in a fatal OS exception. A suggested alternative is to use VirtualQuery
to get the size of allocationCheck out the examples