私が Java プログラムを書き、JAR ファイルを作成するとします。誰かが JAR からクラス ファイルを抽出した場合、それを逆アセンブルできないようにするにはどうすればよいですか? たとえば、DJ JAVA Decompiler を使用すると、「このファイルを逆アセンブルできません」というエラー メッセージが表示されます。このメッセージはすでに見ました。では、クラス ファイルをロックするにはどうすればよいでしょうか。
ありがとうございました
私が Java プログラムを書き、JAR ファイルを作成するとします。誰かが JAR からクラス ファイルを抽出した場合、それを逆アセンブルできないようにするにはどうすればよいですか? たとえば、DJ JAVA Decompiler を使用すると、「このファイルを逆アセンブルできません」というエラー メッセージが表示されます。このメッセージはすでに見ました。では、クラス ファイルをロックするにはどうすればよいでしょうか。
ありがとうございました
誰かが JAR からクラス ファイルを抽出した場合に、それを逆アセンブルできないようにするにはどうすればよいですか。
簡単な答えは、できないということです。
(人間が読めるバイトコードへの) 逆アセンブルは簡単です。それを行うことができるJDKツールさえあります。
難読化ツールを使用すると、Java コードへの逆コンパイルを部分的に無効にすることができます。難読化ツールは、有用なシンボルを削除し、典型的な逆コンパイラを混乱させて、コンパイルできない「コード」を生成することができます。ただし、中程度のスキル (および動機/持続性) を持つハッカーは、とにかくコードが何をしているかを理解し、逆コンパイラの出力をコンパイル可能な Java に手動で編集できます (それが彼/彼女の意図である場合)。
時々提案される他のアプローチは、バイトコードを暗号化することです。残念ながら、ハッカーにとっては難読化よりも簡単に回避できます。ある時点で、アプリケーションはバイトコードをロードできるように復号化する必要があります。ハッカーが行う必要があるのは、それらを傍受することだけです。
そして、逆コンパイラー/逆アセンブラーを説得して、ユーザー/ハッカーに逆コンパイル/逆アセンブルできないことを伝える方法はありません。それは最初は「大きな嘘」でしょう...