1

jar次の機能を満たす Java アプリケーションを作成する必要があります。

  • アプリケーションの初回起動時に読み取られる jar にパックされた xml データがあります。アプリケーションを連続して起動するたびに、動的に作成されたバイナリ ファイルからデータがロードされます。
  • 顧客がアプリケーションをプライマリ状態にリセットできないようにする必要があります (たとえば、何らかの理由でバイナリ ファイルが削除された場合、アプリケーションは再度実行できず、エラー メッセージが表示されます)。
  • これはすべて、それが実行されている OS に依存するべきではありません (つまり、Windows でレジストリ エントリを設定しても機能しません)。

要約すると、アプリケーションの不正な再利用を制限するために、一度開始したアプリケーションがリセットされるのを防ぎたいと考えています。

それを達成する方法についての私の考えに今:

  • 最初の実行時にjarからxmlを削除します(これまでのところ、アプリケーションに独自のjarを編集させることはできないと理解しました。それは本当ですか?)
  • 最初の実行時にjarファイルに変数/プロパティ/設定/何でも永久に設定します(それは可能ですか)

それを達成する方法についての提案/アイデアはありますか?

アップデート:

この正確な問題の解決策は見つかりませんでしたが、簡単な回避策を見つけました。ソフトウェアと一緒に、プログラムが初めて起動された後に変更される特定のファイルを出荷しました。もちろん、誰かが元のファイルのコピーを保持していれば、いつでもそれを置き換えて最初からやり直すことができます。

4

1 に答える 1

1

バイナリ ファイルを削除できるユーザーは、十分な時間があれば、jar で行われた変更を元に戻すこともできます。アプリケーションの唯一の既存の部分がユーザーの手にある場合、その変更を防ぐことはできません。

元のjarのバックアップを保存し、コピーを作成し、それを1回の実行に使用し、元のjarを削除、コピーするなどを簡単に行うことができます。アクティベーションサーバーなど、ユーザーのマシンの外部に何らかのメカニズムが必要になります。ユーザーは、アカウントをアクティブ化するための 1 つのコードを取得し、そのコードを再度使用することはできません。

于 2013-03-25T16:29:50.157 に答える