ELF symbols
Symbols are a symbolic reference to some type of data or code such as a global variable or function. For instance, the printf()
function is going to have a symbol entry that points to it in the dynamic symbol table .dynsym
. In most shared libraries and dynamically linked executables, there exist two symbol tables. In the readelf -S
output shown previously, you can see two sections: .dynsym
and .symtab
.
The .dynsym
contains global symbols that reference symbols from an external source, such as libc
functions like printf
, whereas the symbols contained in .symtab
will contain all of the symbols in .dynsym
, as well as the local symbols for the executable, such as global variables, or local functions that you have defined in your code. So ...
Get Learning Linux Binary Analysis now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.