3

MS C/C++ 静的にリンクされたリリース exe (デバッグ情報なし)がありますが、これはシンボルをエクスポートしませんが、16 進ビューアーで参照すると、次のようなものが表示されます。

.?AVElxInterface@@
.?AV?$CBufferRefT@H@@
.?AV?$CBufferT@H@@
.?AV?$CBufferRefT@PAVElxInterface@@@@

もちろん、それらは内部 C++ モジュールによって提供される特定のクラス/メンバーのマングル名です。

なぜ彼らはそこにいるのですか?どうすればそれらを公開するのを避けることができますか?

4

1 に答える 1

1

個人的には、このデータを過度に非表示にする理由はないと思います。これらのシンボルを使用して「悪い」ことを行う方法について、このデータを見る人に手がかりを提供しないからです。ただし、それが本当に大きな問題である場合、つまり何らかの方法でリバース エンジニアリングされることを恐れている場合は、コードの難読化を選択できます。たとえば、セマンティック デザインは、これらの目的のために製品を提供し、それが高品質であると主張しています。私は自分でそのようなものを試す機会がありませんでした. 商用ですのでご注意ください。

于 2013-03-17T07:27:34.107 に答える