Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to undecorate name from decorated name?

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?

like image 874
Benjamin Avatar asked Feb 07 '12 14:02

Benjamin


1 Answers

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.

like image 95
ssube Avatar answered Oct 14 '22 19:10

ssube