DLL Export Viewer
The Export Function List Viewer shows those functions that may be called upon by other applications. In other words, these functions are what the file is making available to other programs to call upon. PE Explorer DLL Inspector provides important information about entry points, numbers, names and calling syntax of exported functions.
The actual name of a procedure "as it is to be called" is found in the export table of any executable, EXE or DLL. The name which the calling program is going to use is in that calling program's import table.
When a DLL/EXE exports a function to be used by other DLL/EXE, it can do so in two ways: it can export the function by name or by ordinal only. Say if there is a function named "MapDebug-Information" in a DLL, it can choose to tell the other DLLs/EXEs that if they want to call the function, they must specify it by its name, ie. MapDebugInformation.
The other way is to export by ordinal. An ordinal is a 16-bit number that uniquely identifies a function in a particular DLL. This number is unique only within the DLL it refers to. For example, in the above example, the DLL can choose to export the function by ordinal 31. Then the other DLLs/EXEs which want to call this function must specify this number in GetProcAddress. This is called export by ordinal only.
Quick Function Syntax Lookup
Now, when reviewing functions with the Imports, Exports and Delay Imports viewers, clicking a function entry instantly displays the calling syntax for that function. Parameters, return values, calling conventions are conveniently displayed for you in the window below. Double clicking an entry launches a description editor for adding comments or changing details. Say good bye to digging through bloated help files and slogging through multiple archive volumes just to hash out an API reference.
PE Explorer comes bundled with descriptions for 39 various libraries, including the core Windows® operating system libraries (eg. KERNEL32, GDI32, USER32, SHELL32, WSOCK32), key graphics libraries (DDRAW, OPENGL32) and more.
When performing quick syntax lookups, PE Explorer searches through the user directory first then proceeds through the bundled descriptions stopping when a match is found. Results are displayed in the Syntax window located beneath the function entry listing of the particular viewer. If PE Explorer is unable to locate a description set for a particular library or function an appropriate failure message is displayed instead.
Unmangling Feature
PE Explorer is able to internally unmangle the exported symbols from libraries compiled with both MSVS and C++Builder compilers.
Among the exported and imported functions of DLLs there may be found DLLs written in C++ that often export functions with mangled names. Because the C++ programming language allows programmers to give different entities the same name, C++ compilers generate external entity names that include information regarding aspects of the entity's type and fully qualified name in order to keep them disinquishable. This name "mangling" ensures that external names will not clash and that entities with strange names, such as operators (eg. "=", "+", "*" ...), have alphanumeric names that a linker will accept.
Conversely, mapping mangled names back to human-readable ones can be quite a challenge as different vendors employ different encoding schemes to generate these external names.
Get Started with a 30-Day Free Trial
Download PE Explorer and start exploring your applications now.
PE Explorer runs on all versions of Windows, from Windows 95 to the latest version of Windows 11.