2

Via Igor Skochinsky's classic IDA RTTI scripts, I found out that the names I posted are equivalent to typeid(struct xyz) (as I've added to my question). Abusing creating a valid mangled ctor name from a substring of them and then stripping the ctor parts from the result yields great class names. Here's my Python script and the results: def demangle(name): ...


2

vc++filt seems to demangle it ?AVexception@@ ?? AVexception ?AUescaped_list_error@boost@@ ?? boost::AUescaped_list_error ?AVruntime_error@stlp_std@@ ?? stlp_std::AVruntime_error ?AUescaped_list_error@boost@@ ?? boost::AUescaped_list_error src slightly edited to strip . in front cat cpp.cpp #include <windows.h> #include <stdio.h> #include &...


2

I found the following documentation on archive.org, as part of Sun WorkShop™ for Solaris 2.x mangling.ps


2

You should be able to use c++filt directly. Pay attention to not use the one from binutils. Make sure to use the right install path, eg: /opt/SolarisStudio/solarisstudio12.3/prod/bin/c++filt


2

As @blabb says undname is correct so it's your other tool that is 'incorrect'. However, it's worth looking at this in more detail as it's probably not as incorrect as you think. To understand this though you have to delve a little into ABIs and think how a C++ function call works in practice. Firstly, a C++ member function is in some sense like a C ...


1

there are lot of external utilities that can demangle a decorated name try looking for vc++filt / or some online demangler like this or you can probably code one using dbghelp api UndecorateSymbolName() in python with ctype / pywin32 also undname isn't erring your second guess must be right I just prototyped a similar function and looked at its ...


Only top voted, non community-wiki answers of a minimum length are eligible