9

ファイルを簡単に抽出して、.jarソース コードを表示できます。ソースコードを見られないように保護したい。考えられる答えの 1 つは、zip ファイルの場合と同様に、ファイルをパスワードで保護することです。

ただし、パスワードがわかっている場合は、ソース コードを簡単に見ることができます。

ソース コードを非表示にして実行できるようにする方法はありますか? .exeWindows での a の動作に似たもの。これは、Windows 環境と Linux 環境の両方で実行する必要があります。

4

5 に答える 5

5

.jarファイルを簡単に抽出して、ソースコードを確認できます。

厳密に言えば、それは真実ではありません。実際にソースコードファイルをJARに含めない限り、誰かが元のソースコードを見ることができません。ただし、(通常は)JARファイル内の「.class」ファイルを元のソースコードと機能的に同等のJavaソースコードに逆コンパイルできます。

他の回答が述べているように、誰かがあなたのコードをリバースエンジニアリングしようとするのを難しくすることができます。たとえば、JARファイルに暗号化された形式で保存されているコードを復号化する難読化ツールまたはカスタムクラスローダーを使用します。しかし、あなたができることは、決心したハッカーがあなたの対策を打ち負かすことを防ぐのに十分です。なし。

コードをリバースエンジニアリングから保護する唯一の実用的な方法は、コードをリリースしないことです。または、ソフトウェアライセンスまたはその他の法的手段を使用して目的を達成します。

于 2013-01-24T03:34:11.857 に答える
5

ProGuardを見てください。これは、Java で人気のある難読化ツールです。Java プログラムを Windows 実行可能ファイルとしてパッケージ化する方法については、次の記事が役立ちます: How can I convert my Java program to an .exe file?

于 2013-01-24T01:30:06.633 に答える
5

検索したいのは「java難読化」です。これを支援するツールはたくさんありますが、あなたのコードを必要としている人が本当にそれを望んでいる場合、それは負け戦です。これが深刻な問題である場合は、C++ で作成する必要があります。

于 2013-01-24T01:32:09.170 に答える
3

普通の視聴者を思いとどまらせたいだけなら、Java 用の多くのコード難読化ツールのいずれかがおそらく役立つでしょう。バイトコードがめちゃくちゃになり、アルゴリズムがわかりにくくなります。

一方、「絶対的な」保護が必要な場合は、暗号化/難読化ツールは役に立ちません。コンピューターがそれを実行できる場合、決定的で知識のある攻撃者は、コードがどのように機能するかを最終的に把握できます。

いくつかの可能な解決策:

  • クライアント/サーバー アーキテクチャを使用して、独自の部分を所有するコンピューターで実行します。これにより、コードのより興味深い部分をクライアント アプリケーションに含める必要がなくなります。当然のことながら、この解決策は、さまざまな理由で常に実行可能であるとは限りません。

  • 知的財産の問題を専門とする弁護士を数人雇い、アルゴリズムの特許を取得してください。私の意見では、これは、非技術的な問題に対して技術的な解決策を強制しようとするよりもはるかに優れた選択肢です...

于 2013-01-24T01:39:16.653 に答える