現在、gcc 4.4.6 を使用して C++ プログラムをコンパイルしています。Valgrind でコードを実行すると、コンパイルされたコード (O2 フラグを使用) に関数宣言が表示されることに気付きました。つまり、デバッガーで実行することにより、プログラムを簡単にリバース エンジニアリングできる可能性があります。
それらを隠す簡単な方法はありますか?決心した人を止めるつもりはないことは理解しています.5分でリバースエンジニアリングしたくないだけです.
現在、gcc 4.4.6 を使用して C++ プログラムをコンパイルしています。Valgrind でコードを実行すると、コンパイルされたコード (O2 フラグを使用) に関数宣言が表示されることに気付きました。つまり、デバッガーで実行することにより、プログラムを簡単にリバース エンジニアリングできる可能性があります。
それらを隠す簡単な方法はありますか?決心した人を止めるつもりはないことは理解しています.5分でリバースエンジニアリングしたくないだけです.
man strip
- GNU Binutils
gcc
にはオプションがあり-fvisibility=hidden
、エクスポートされたもの以外のシンボルを生成しないようにします。
を使用-O3
しますが、注意してください。