Reversing : The Hacker's Guide to Reverse Engineering

(ff) #1

Table 3.1 The Optional Directories in the Portable Executable File Format.


ASSOCIATED DATA
NAME DESCRIPTION STRUCTURE
Export Table Lists the names and RVAs of IMAGE_EXPORT_
all exported functions in the DIRECTORY
current module.
Import Table Lists the names of module IMAGE_IMPORT_
and functions that are DESCRIPTOR
imported from the current
module. For each function, the
list contains a name string
(or an ordinal) and an RVA that
points to the current function’s
import address table entry.
This is the entry that receives
the actual pointer to the
imported function in runtime,
when the module is loaded.
Resource Table Points to the executable’s IMAGE_RESOURCE_
resource directory. A resource DIRECTORY
directory is a static definition
or various user-interface
elements such as strings,
dialog box layouts, and menus.
Base Relocation Table Contains a list of addresses IMAGE_BASE_
within the module that must RELOCATION
be recalculated in case the
module gets loaded in any
address other than the one it
was built for.
Debugging Information Contains debugging IMAGE_DEBUG_
information for the executable. DIRECTORY
This is usually presented in
the form of a link to an external
symbol file that contains the
actual debugging information.
Thread Local Storage Table Points to a special thread-local IMAGE_TLS_
section in the executable that DIRECTORY
can contain thread-local
variables. This functionality is
managed by the loader when
the executable is loaded.
(continued)

Windows Fundamentals 101
Free download pdf