gpt4 book ai didi

python - 像 nm -D 或 readelf -s,用 python ctypes 列出动态符号?

转载 作者:行者123 更新时间:2023-11-28 17:50:08 24 4
gpt4 key购买 nike

是否可以使用 python ctypes 实现 nm -Dreadelf -s

我想列出.so 文件的所有动态符号。

提前致谢!

最佳答案

我的回答是:ctypes 极不可能为您提供库中所有可用符号的枚举。

这样做的原因主要是 ctypes 作为 Python 模块的范围,以及动态库 API 的范围:POSIX dlopen + dlsym或 Win32 LoadLibrary + GetProcAddress .这些 API 的主要任务是加载 DLL 并通过符号名称/序号获取可调用地址。它们并非设计用于符号枚举。您不能使用它们列出符号;和 CPython relies on them ,当然是为了实现它的功能。

还需要说明的是,您提到的nmreadelf工具对可执行文件进行自己的解析得到符号列表。这与将库作为可执行模块加载到内存中很不相干。所以你需要一个不同的 Python 模块来做到这一点,比如 python-elf例如。

关于python - 像 nm -D 或 readelf -s,用 python ctypes 列出动态符号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11842588/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com