为什么在exe文件中发现了混乱的名字
Why mangled names found within an exe?
我有一个MS C/c++静态链接的发布exe(没有调试信息),那不导出任何符号,但是当我用十六进制查看器浏览它时,我看到像
这样的东西.?AVElxInterface@@
.?AV?$CBufferRefT@H@@
.?AV?$CBufferT@H@@
.?AV?$CBufferRefT@PAVElxInterface@@@@
当然,它们是c++内部模块提供的某些类/成员的混乱名称。
他们为什么在那里?怎样才能避免暴露它们呢?
就我个人而言,我不认为有任何理由掩盖这些数据,因为它没有向那些查看它的人提供关于如何利用这些符号做一些"坏事"的线索。然而,如果这对你来说真的是一个大问题,也就是说,你害怕某种程度上被逆向工程,那么你可能会选择代码混淆。例如,Semantic Designs为这些目的提供了一个产品,并声称它具有高质量。我自己从来没有机会尝试过那些东西。请记住这是商业广告
相关文章:
- 如何克服提升精神AST混乱
- 整数类型应该显式转换(例如"int"到"无符号")还是只会增加混乱?
- CTest 项目目录.未发现任何测试
- 请发现它在 dev 中工作的错误,但在 hackerrank 中不起作用
- 我的 c++ 程序似乎没有发现字符串和我拥有但输入使用 getline 的变量之间的比较
- std::result_of语法混乱
- 使用具有默认参数的函数模板进行 decltype 会使结果混乱(一个有趣的问题或 gcc 的错误)
- Nanoflann发现邻居提出段错误
- C++中多线程的混乱
- 我在玩VS2017时发现了一些东西
- Arduino LCD 显示屏显示混乱的字母
- 在使用另一个类"friend"函数时无法发现错误C++
- 在MSDOS编译器上,用大于最大值的值初始化int时输出混乱
- 在一次锻炼测试中发现致命信号11
- 库设计混乱.. "public"/"private"(模板)标题,库文件..?
- 常量指针上的混乱
- 智能手机代码厨师问题逻辑混乱
- 数组和指针使算术混乱
- C++智能指针混乱
- 为什么在exe文件中发现了混乱的名字