0

Web 上でアプレットとしてリリースすることを検討している Java アプリケーションがあります。アプレットを使用しようとすると、Web サーバーがリモート jvm にコードを送信することを考えると、Java に精通したエンド ユーザーが何らかの方法でソース コードを表示できることを懸念しています。

エンド ユーザーがアプレットのソース コードを直接表示できないようにするために、どのような予防策を講じることができますか?

アプレットとしてリリースすることで、ユーザーが解凍できるダウンロード可能な jar ファイルを含むアプリケーションをリリースするよりも、何らかの方法でコードのプライバシーを保護できることを願っています。これは本当ですか?

4

3 に答える 3

2

Jar は本質的に、変装した単なる zip ファイルであるため、人々がソース コードを表示できないようにする方法は実際にはありません。Java クラスで使用できる逆コンパイラは多数あります。エンドユーザーがソース コードを逆コンパイルすることを懸念しているほとんどの開発者は、難読化ツールを使用して、コードを多かれ少なかれ判読不能にしたり、少なくとも理解しにくくしたりしています。

申し訳ありませんが、質問に対する適切な回答はありません。いつでもソース コードを逆コンパイルできるのは Java 言語の性質です。

Jar 自体へのアクセスをより困難にする Java アプリケーションを実行可能ファイルにラップするなどのオプションがありますが、明らかにアプレットに対してこれを行うことはできません。

これは、Java を実行可能ファイルに変換するトピックに関する (会社の) ブログ投稿です: http://www.excelsior-usa.com/articles/java-to-exe.html

トピックについてもSOスレッドから取得しました: JARファイルをEXEファイルに変換するにはどうすればよいですか?

于 2013-10-24T15:50:25.553 に答える
0

利用可能なオープンソースのコード難読化ツールのいくつかを使用できます(難読化だけでなく、コードの最小化にも ProGuard を使用することを多くの人が推奨しています)。

于 2013-10-24T15:50:04.667 に答える
0

誰かがあなたのコードを本当に欲しがっているなら、彼らはそれを手に入れます。あなたができる最善のことは、それをより困難にすることです。他の人が述べているように、典型的なアプローチはコード難読化ツールを使用することです。

プロジェクトのビルドに Maven を使用している場合は、maven 中央リポジトリのproguard-maven-pluginを使用できます。

しかし、アプレットとしてリリースすることを検討しているため、サーバー側のコードで機能を実行できる場合は、コード ベースのセキュリティをさらに強化することができます。

于 2013-10-24T16:07:42.263 に答える