Free Trial Software Downloads Unmangling the exported symbols from libraries
Heaventools Home
 

home      products      solutions     news     downloads     order     support     about us

 

 
PE Explorer Feature Tour
 

 

 prev | next 

UNMAGLING EXPORTED SYMBOLS

Unmangling: Back to Human-readable Names

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.

Mapping mangled names back to human-readable ones.

Conversly, 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. For example, when compiling a function with this signature:

char * istrstream::str(void)

Microsoft C++ compilers embellish it like this:

?str@istrstream@@QAEPADXZ

and Borland C++ compilers embellish it like this:

@std@istrstream@str$qv

PE Explorer is able to internally unmangle the exported symbols from libraries compiled with both Microsoft and Borland C++ compilers.

See also: Quick Function Syntax Lookup and Exports Viewer

Feature Tour  
 prev | next 

 


Take a look at  PE Explorer Screen Shots

Buy Now Personal License ... US$129.00
Business License ... US$229.95

Download a 30 day trial version of PE Explorer    How to Order

     

Home  •   Site Map  •   Purchase  •   Downloads  •   Support  •   F.A.Q.  •   Forum  •   About