如何在 ELF 可执行文件中列出导入的符号?

Xiè*_*léi 27 linux compile

对于 PE 可执行文件,我可以使用列出导入的符号

dumpbin /imports FILE.EXE
Run Code Online (Sandbox Code Playgroud)

或使用depends 实用程序,即GUI 应用程序。

`nm ELF-binary' 只返回“无符号”。

Mr *_*unz 21

尝试 objdump -T 'ELF-file'


小智 6

为此,objdump 的输出有点过大,需要进行大量解析才能找到实际的导入。

为此,我更喜欢readelf

readelf -d dynamic-buffer-test

Dynamic section at offset 0x630a8 contains 23 entries:
 Tag                Type                 Name/Value
 0x0000000000000001 (NEEDED)             Shared library: [libstdc++.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [libm.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [libgcc_s.so.1]
Run Code Online (Sandbox Code Playgroud)

如您所见,所需的库标有“NEEDED”。

  • 这似乎只列出了库,而不是符号。 (2认同)

小智 5

我更喜欢readelf

readelf -s <file>