【发布时间】:2021-02-21 15:29:26
【问题描述】:
如果我缺少 .dylib/.a/.so 文件的头文件,有没有办法确定我可以链接哪些函数,然后自己编写头文件?
我问的是 OSX,因为用于对象检查的工具略有不同。
【问题讨论】:
标签: c header decompiler
如果我缺少 .dylib/.a/.so 文件的头文件,有没有办法确定我可以链接哪些函数,然后自己编写头文件?
我问的是 OSX,因为用于对象检查的工具略有不同。
【问题讨论】:
标签: c header decompiler
使用 otool 相当简单。
这是 MachO 二进制文件的 __text 部分保留可链接代码。
所以你可以像这样在 OSX 中打印出二进制文件中的所有函数。
otool -t libpython3.8.a -v
-t 用于 __text 部分,-v 用于反汇编。
会输出类似的东西
__PyDict_Pop:
0000000000003300 pushq %rbp
0000000000003301 movq %rsp, %rbp
... assembly ...
... ret value...
0000000000004614 popq %rbp
0000000000004615 retq
0000000000004616 nopw %cs:(%rax,%rax)
【讨论】: