如果使用LoadLibrary显式链接dll,则列出从PE文件导入的函数
Listing imported functions from a PE file if dll is linked explicitly using LoadLibrary
我需要通过解析PE列出所有导入的函数。如果exe或dll隐式链接dll(使用导入库),我可以从导入表中获取所有调用的函数。但是,如果任何dll或exe显式链接dll(使用LoadLibrary和getProcAddress),则导入表将没有显式链接的dll的条目。
请告诉我如何在显式加载dll时获得调用的所有外部函数的列表(使用getProcAddress)。
感谢和问候,Kiran
这是不可能100%可靠的。基本上,您可以设置一些东西来监控在LoadLibrary
和GetProcAddress
运行时传递给它们的参数,以查看您发现了什么——但您需要意识到,用户在执行过程中所做的选择可能也会影响显示的内容。
它还可以根据配置文件的内容、在任意目录中找到的文件等进行更改(例如,加载目录X中的所有DLL,并在每个DLL中调用initialize_plugin()
)。
相关文章:
- .cpp和.h文件中的模板专用化声明
- 为什么两个不同的未命名名称空间可以共存于一个cpp文件中
- 文本文件中的单词链表
- 手动对 PE 文件进行签名
- 如何在用户修改后使用旧版驱动程序中的 PE 标头获取原始文件类型
- C++ PE 注入 - 来自远程位置的 EXE 文件(例如 HTTP)
- 版本信息表 通过更新资源更改 pe 文件
- 区分 32 位和 cl.exe 生成的 64 位 PE 对象文件(Visual Studio C++)
- PE文件格式部分附加
- 使用按位运算符的 PE 文件格式指针
- 如何获取 PE 文件签名偏移量
- 如果使用LoadLibrary显式链接dll,则列出从PE文件导入的函数
- 如何在Windows PE中运行c++可执行文件
- 在PE文件中跳转存根
- visual C++添加PE文件作为资源,并从内存中执行
- 为什么要在PE文件中创建不同的代码/数据/bss部分?
- 在c++中为PE文件添加新的部分
- 如何使用自定义注册系统注册dll,并查看导入dll的可执行文件的PE
- PE文件中签名地址移位的解释
- 获得偏移到.text节代码PE文件格式?VirtualAddress PointerToRawData