0

だから、私はイースターエッグが好きです...これは、私がイースターエッグアーカイブの発見されたコミュニティの一員であったことにさかのぼります.

ただし、オープンソース プログラミングも数多く行っています。

私が知りたいのは、コードを体系的かつ方法的に難読化するための最良の方法は何だと思いますか。

PHP/Python/C/C++ での例が望ましいですが、方法論が適切に説明されていれば、他の言語でも問題ありません。

4

6 に答える 6

4
  1. 完全に最適化してコードをコンパイルします。バイナリを完全に削除します。
  2. コードで逆コンパイラを使用します。

私は結果がまったく読めないので、あなたがそれを読むことさえできないことを保証できます ;)

于 2008-09-24T07:11:39.703 に答える
3

その場合、「難読化ツール」を使用/作成する必要があります。あなたのために仕事をするプログラム。

Salamander Obfuscator は .Net プログラムを難読化するために使用できますが、逆コンパイルを防ぐためのものであり、必要なものとは言えません。

C の難読化について学ぶのに適した場所は、国際難読化 C コード コンテストです。

于 2008-09-24T06:50:09.850 に答える
2

シンボルの名前を変更するという精神に基づいて、同じ名前の異なる変数に名前を付けて、スコープと可視性ルールを乱用します。

于 2009-04-08T09:57:46.227 に答える
1

問題は、難読化されていないように見えるコードを、別の機能を実行しているように見せずに、わかりやすいコード (オープン ソース) で作成する方法です。

于 2008-09-24T06:54:38.683 に答える
1

いくつかの明白な方法:

  • 物事を壊すことなく、コメントとできるだけ多くの空白を削除します
  • 行を結合する
  • 変数と関数の名前を無意味に変更します (できれば 1 文字)。
于 2008-09-24T06:55:21.210 に答える
1

コードの体系的かつ系統的な難読化では、Perl に勝るものはありません。バイナリにコンパイルするものが必要な場合は、常に APL があります。

.NET フレームワークをターゲットにしている場合は、イースターエッグのソース コードをリソース ファイルに binhex 文字列として配置します。次に、初期化ルーチンの 1 つにそれをフェッチさせ、デコードし、メモリにコンパイルさせることができます。リフレクションを使用して呼び出すことができます。

メモリへのコンパイルと結果のアセンブリへの呼び出しの技術的な側面について支援が必要な場合は、私が書いたライブラリとそれを使用するサンプル プログラムを提供できます。

このテクノロジを使用してプラグインをロードできます。これは合法的なことであり、イニシャライザで合理的です。

于 2009-04-08T09:47:33.727 に答える