Sitemap
root user

root user

MSVC Mangle Name

2 min readJun 21, 2026

Overview
when msvc done with preprocessor and Intermediate Representation process,it generate assembly code/MASM. compiler add decoration name to indicate function,class,other to it linker,linker need this to avoid duplicate, external symbol,etc. in cli based its a ton import data come to assembly file even it just with simpleprint program, it come from iostream lib. as followmy code is:

#include <iostream>
int main(){
std::cout<<”hello world”<<std::endl;
return 0;
}

it show a ton mangle name:

Press enter or click to view image in full size

that we can see from comment, because my focus is gui program i use this code as example:

with generate assembly:

Press enter or click to view image in full size

compiler generate with less mangle to analysis

Get root user’s stories in your inbox

Join Medium for free to get updates from this writer.

Decoration Mean
analysis based on Visual C++ name mangling because its internal and site do reverse with good reference and from LLVM generally mangle name indicate:
“?” beginning of decoration
“??” local scope or nested name follow with base scope
“@” in beginning is c decoration name call in cpp code
“@” in th middleis terminator
“?” or “??” follow with “number” is special name with number code
“_C@_1/2” string constant with 1 byte or 2 byte encode
“?$” terminated with “@” is c++ template name
“?A” is anonymous namespace
“__impl__” is import function from external code

reference:

https://github.com/widberg/fmtk/wiki/Decompilation

--

--