是否可以在运行时从 Windows 上的可执行文件中定位函数?
Is it possible to locate functions from executable at runtime on Windows?
我正在将代码注入 windows 中的函数以创建挂钩。我在进程中有这个线程,它成功地为 DLL 导出的函数创建了挂钩。
我打算扩展此功能以在可执行文件本身中包含一些函数或方法。我现在只需要一个指向该函数的指针,以便使用字节码级代码注入创建指向它的钩子。
现在是否可以在运行时在进程内存中定位函数,这些函数是从可执行文件本身加载的?
当源代码被编译成可执行代码时,函数和变量名之类的东西会丢失。除非您有调试信息数据库 .pdb/.dbg 或映射文件 .map 等元数据,否则您通常无法找到函数。
如果函数是模块导出的,那么可以通过GetProcAddress
找到它的地址。
我正在将代码注入 windows 中的函数以创建挂钩。我在进程中有这个线程,它成功地为 DLL 导出的函数创建了挂钩。
我打算扩展此功能以在可执行文件本身中包含一些函数或方法。我现在只需要一个指向该函数的指针,以便使用字节码级代码注入创建指向它的钩子。
现在是否可以在运行时在进程内存中定位函数,这些函数是从可执行文件本身加载的?
当源代码被编译成可执行代码时,函数和变量名之类的东西会丢失。除非您有调试信息数据库 .pdb/.dbg 或映射文件 .map 等元数据,否则您通常无法找到函数。
如果函数是模块导出的,那么可以通过GetProcAddress
找到它的地址。