0

ユーザーは、サーバーからアプリ (ゲームであると想定) をダウンロードします。ユーザーがシステム上でアプリケーションを実行できる時間に制限を設ける必要があります。

例えば。インストール時から、ユーザーはアプリケーションを 5 日間のみ使用できます。

私の問題は、このロジックを実装するためにシステム時間/日などに依存している場合、ユーザーがシステム時間を変更してロジックを克服する可能性があることです。

プラットフォーム: Linux/C++

PS: ユーザーがアプリケーションをダウンロードした後、インターネットにまったく接続しないことにした場合を想定する必要があります。私はネットワークにアクセスできないため、アプリケーションのインストール日時などについてサーバー ベースのストレージに頼ることはできません。

この種の動作がアプリケーションでどのように実装されているか、試用期間を提供する手がかりを誰かが与えることができますか?


編集:

私が考えているアルゴリズムを追加しています:

インストール時:

  1. インストール時に、現在のシステム日付を保存します。
  2. この情報を暗号化された形式でファイル DRM.txt に保存します

アプリの起動時:

  1. ファイルを開き、インストール日付を復号化します。
  2. システムから現在の日付を取得します。
  3. ユーザーがアプリケーションをインストールしてからの経過日数に応じて、アプリケーションの実行が許可されているかどうかに一致します。
  4. 許可されている場合は、アプリを起動します。それ以外の場合は、エラー メッセージを表示して戻ります。

問題:

  1. インストール時のシステム日付は 2012 年 12 月 19 日であり、ユーザーは 2012 年 12 月 22 日までの 4 日間のみアプリを使用できます。したがって、19/12/2012 が DRM.txt に格納されます。

  2. 4 日後にユーザーがシステムの日付を 2012 年 12 月 20 日に変更すると、チェックするロジックによってこのアプリケーションの実行が許可されます。

これが私が言おうとしていることを明確にすることを願っています.

4

2 に答える 2

0

これは、暗号化によって実現できます。たとえば、暗号化されたファイルに日付を保存します。これにより、リバースエンジニアリングなどが妨げられることはありません。

于 2012-12-18T14:16:58.943 に答える
0

アプリを起動および停止する時間を保存して確認します。現在の時間が保存された時間よりもはるかに短い場合は、不正行為であると考えることができます.

于 2012-12-19T05:49:52.437 に答える