How to undecorate name from decorated name?

Benjamin picture Benjamin · Feb 7, 2012 · Viewed 9.1k times · Source

At a post of Raymond Chen, he seems to be able to know the function's undecorated name from the decorated name. I have no idea how could he do this.

In this decorated name,

?GetName@PushButton@UILibrary@@UAEPB_WPAPAVStringHolder@2@@Z

What does the each component mean?

Answer

ssube picture ssube · Feb 7, 2012

To avoid guessing, and still not really use tools, the UnDecorateSymbolName function may be of use. I would hope that gives an authoritative correct answer.

To do it manually, this page has some information on the scheme, as do these.

The basic outline is _name@scope@scope@@parameters@something@@something. I suspect the last two parts are stack size and calling convention or similar, but the documentation likely has more detail.