2

私はこのトピックに関するいくつかの記事を読み、説明されている手法のほとんどを実装しました。ただし、参照されていない/使用されていないコードをバイナリに追加したいと思います。理想的には、ツールを介してこのコードをビルドされたバイナリに追加できるようにしたいと思います。そのようなツールはありますか?そのようなツールを構築する方法について何かアイデアはありますか?または、C ++プログラムに使用されていないコードを生成して追加するにはどうすればよいですか?どこに置けばいいの?

Skype内部の分析で、私は彼らが可能な限りコードを台無しにしていることを読みました。これを実現する1つの方法は、各呼び出しを動的に計算することです。

if ( sin(a) == 42 ) {
   do_dummy_stuff () ;
}

ダミー機能を開始する必要がありますか?それとも、ダミー関数は使用されていないコードですか?

更新:未使用のコードをバイナリに追加したい理由は、多くの電子書籍を出荷しているためです。それぞれのバイナリを少し変えて、1つが危険にさらされても、他のバイナリが危険にさらされないようにしたい(少なくともすぐには)。

4

2 に答える 2

4

私の理解が正しければ、難読化について話していることになります。

Stackoverflow に関するこの質問では、トピックがカバーされています。C++ コードを難読化するソフトウェアはたくさんあります。すばやくグーグル検索すると、thisthisなど、そのようなアプリがたくさん表示されます。

于 2012-09-12T06:12:57.340 に答える
3

そのようなツールはありますか?

はいあります。適切なパラメーターを使用してコンパイラーと呼ばれ、リンカーを追加します。このコンビネーションストリップに追加すると、適切なライブラリが得られます。

重大な問題として、リバース エンジニアリングを防ぐ方法はありません。クラッカーにとっては、それを難し​​くする (またはより煩わしくする) ことしかできません。この記事( spyroの開発者があらゆる種類の著作権保護を試みた記事) をご覧ください。

于 2012-09-12T06:12:48.543 に答える