OD 反組譯自編 EXE 可見所有函數名,但下載的商業軟體 (如優酷客戶端) 符號表乾淨。
編譯器預設生成 PDB (Program Database) 符號檔,並將 PDB 路徑嵌入 EXE。反組譯工具讀取 PDB 即可還原函數名、行號、變數名。商業軟體發布時 **不包含 PDB**,故符號表為空。
.exe、.dll,刪除 .pdb。專案屬性 → Linker → Debugging → Generate Debug Info = No (/DEBUG:NONE)
或
C/C++ → General → Debug Information Format = None
/O2、/OPT:REF、/OPT:ICF 移除未使用函數、合併相同 COMDAT,進一步減少符號殘留。SymSrv、WinDbg)。