There are a number of tools available on Unix systems to help you understand and manipulate object files.
In particular, the GNU binutils package is especially helpful and runs on every Unix platform.
AR : Creates static libraries, and inserts, deletes, lists, and extracts members.
静态链接库
STRINGS : Lists all of the printable strings contained in an object file.
显示object file的字符串
STRIP : Deletes symbol table information from an object file.
删除symbol table
NM : Lists the symbols defined in the symbol table of an object file.
显示object file 的symbol table的symbol。
SIZE : Lists the names and sizes of the sections in an object file.
显示section的大小
READELF : Displays the complete structure of an object file, including all of the information encoded in the
ELF header. Subsumes the functionality of SIZE and NM.
显示elf的格式
OBJDUMP : The mother of all binary tools. Can display all of the information in an object file. Its most
useful function is disassembling the binary instructions in the .text section.
主要用于反编译。
Unix systems also provide the ldd program for manipulating shared libraries:
LDD : Lists the shared libraries that an executable needs at run time.
显示需要的动态库。