私は、StackOverflowが特定の質問に答え、主観的な意見を避けることを理解します。私の質問に正解が1つしかないので、私はここに投稿しています。どの注文ですか? ProGuard + JWrapper + Launch4J
私は商用目的で配布する予定のJavaデスクトップアプリケーション(JavaFX)を作成しました。私は、Javaコードは簡単にリバースエンジニアリングされているので、ProGuardのようなものを使用して難読化することが非常に重要だと読んだことがあります。私は、ユーザーが自分のサイトからダウンロードした.exeをダブルクリックして、標準のソフトウェアのようにインストーラを実行するように、私のアプリケーションをパッケージ化したいと思います。これはProGuardの範囲外であると思われますが、私はJWrapperとLaunch4Jの両方が同様の機能を提供しているようです。 Windowsのネイティブ実行可能ファイルにjarファイルを入れて、スプラッシュ画面を表示し、JREをインクルードすると主張していますが、どこが違うのかは分かりません。
具体的には、私は次のものが必要です
- インストールウィザード(つまり、デスクトップ上にショートカットを作成+どこか安全なexeファイルを配置するために、また、どこかEULAを追加します)。
- アプリ用
- ウェブの更新(JWrapperがパスを構築+この使用してURLを提供しているようだ)
- ライセンスを使用してアプリケーションを保護する機能(やや)(ユーザーの制限を指定するEULA(エンドユーザー使用許諾契約書)を追加します。 License3jは有望そうです)。
その機能はhereとhereを見つけることができるだけJWrapperはperform web updatesに能力を言及し、(私もどこかEULA.txtを書くことができます仮定)デスクトップショートカットを言及しています。
ProGuard、JWrapper、Launch4jの順番どおりにコードを書き終えたら、 ProGuardを最初に(縮小、最適化、難読化)してから、JWrapperとLaunch4jを推測していますか?または3のうちの2つだけ?
私が紛失しているかもしれない追加の方法、ツール、または概念もお気軽にご利用ください。ありがとうございました!
JWrapperの人々は、非常に効果的なコード保護であると主張していますが、無料ではありません。 – nyholku
これは有望だね、ありがとう。しかし、$ 500 /年のように見えますが、自由な選択肢が常に優先されます。それは現実的ではありません。だから、機密データ処理をサーバー側に置いて保護サービスを提供する評判の良い会社に支払うと、JWCryptよりもそれほど優れていないのでしょうか?私のアプリは主にスケルトンコードだけを含み、実行中のプロセスを通してサーバーのコードの "勇気"を要求します。何かご意見は? TY。 – Mathomatic
サーバー側で保護したいコードを保持できれば、サーバーが侵害されていないことを前提として、保護されていることが明らかです。 最後のステートメントは、サーバからクライアント側にコードを引き出すことを示唆しています。もちろん、リバースエンジニアリングの安全性は、最初はクライアントアプリケーション上で行うよりも安全です。 – nyholku