I'm working on a native binary patching library. It currently works on Linux and I'm trying to add Windows support.
For that, I need to implement a way to enumerate all functions in a PE binary (EXE) or shared library (DLL). For libraries, iterating exported functions is good enough.
However, I need a way to get a list of functions in the running executable, together with addresses that I can call.
On Linux, I used
libelf for this, but I have no idea what to use for PEs.
The target executable is unstripped, but there's no source code.