Skip to main content
 首页 » 编程设计

python之C/Python ctypes 共享对象内省(introspection)库/技术

2025年05月04日11jyk

我一直在寻找一种方法来使用 ctypes 包装器在 python 程序上加载的 C 共享对象上列出 .text 部分定义的符号。换句话说,我正在尝试获取 CDLL 加载对象上已定义函数的列表。

如果无法使用 ctypes 或库(或 python 绑定(bind))执行此操作,另一种选择是 python elf 解析库或类似 http://halflifelibrary.com/wiki/Metamod-P 的解决方案.

有什么办法吗?

请您参考如下方法:

添加到您尝试使用的方法列表以获取 dll 导出的函数列表。

脚本位于:http://projects.scipy.org/numpy/wiki/MicrosoftToolchainSupport转储 dll 的符号表,解析它以获取公共(public)表并将该表输出到 .def 文件中。它还说,如果 dll 被剥离,这可能不起作用。

我不确定 Python 中是否有好的 ELF 解析器。添加一些我发现的内容。