For PE executable, I can list the imported symbols using
dumpbin /imports FILE.EXE
or using the depends utility which is GUI application.
`nm ELF-binary' just returns "no symbols".
Super User is a question and answer site for computer enthusiasts and power users. It only takes a minute to sign up.Sign up to join this community
The output from objdump is a little excessive for this purpose, and requires a good bit of parsing to find the actual imports.
I prefer readelf for this purpose:
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]
As you can see, the required libraries are marked with "NEEDED".
Along with the other answers posted here I would like to propose another. The contents printed are a function of the file format, where ELF lends itself nicely to solving this problem.
objdump -p /path/to/binary | grep NEEDED
The grep simply extracts the contents of the
Dynamic Section, but its the format of the
objdump -p output that makes this a simple solution.