This is a simple tool written in Rust that dumps all exported function names from a DLL passed as an argument.
I built this mostly as an exercise to better understand and parse PE (Portable Executable) structures manually, without relying on high-level wrappers.
It’s not intended to be fancy or complete — just a basic, educational tool.
- Loads a DLL dynamically using
LoadLibraryA
. - Parses its PE headers manually to locate the
IMAGE_EXPORT_DIRECTORY
. - Iterates through all exported function names and prints them to stdout.
cargo run ntdll.dll