1

私のアプリケーションには、別のコンピューターにインストールされた場合に、私のソフトウェアの製品版登録済みバージョンが私のソフトウェアの試用版に戻るようなコピー防止スキームを含めたいと考えています。

昔は、すべてのユーザー情報をレコードに保存し、それを exe ファイルの末尾に追加していました。登録プロセス中に、これらの値を exe ファイルの末尾にあるデータ レコードに挿入するだけです。これは、exeファイルが変更されたため、古き良きノートンが私の製品にウイルスとしてフラグを立て始めるまではうまくいきました。

私はずっと前にそれをやめました。ソフトウェアの更新バージョンを作成する準備をしています。これをどのように達成したかを知りたいです。

4

3 に答える 3

1

情報に精通したユーザーが情報を見つけられる可能性を最小限に抑えるために、複数の場所に情報を保存する必要があります (たとえば、Process Monitor を使用)。私は提案します

  • HKCU のレジストリ キーと
  • ローカル アプリケーション ディレクトリの隠しファイル。

また、ローカル コンピューターにバインドされているいくつかの情報を保存します。これにより、平均的なユーザーが新しい PC で更新されたデータを取得する方法がわからないため、ファイルとレジストリ エントリのコピーを見つけたとしても、成功しません。この情報は、ユーザーが送信する必要があるハードウェア ID に基づいて生成されたキーの場合もあります。

鍵生成アルゴリズムについて: 保護が平均的なユーザーに対して「反対」である場合は、何かを作り上げるだけです。これは、ターゲット グループによって少し異なります。ROT47のような単純なもので十分かもしれません。

于 2011-08-01T13:22:40.310 に答える
1

製品版にするための情報は、元のプログラムではなく、ターゲット コンピューターに保存する必要があります。そうすれば、プログラムを移動しようとすると、新しいコンピューターに小売店の情報がないため、試用版に戻ります。

小売情報は、一意のキーを使用して登録プロセスを介して追加されます。このキーを 1 回だけ機能させる方法はいくつかあります。1 つの方法は、インターネット経由でプログラムに直接送信することです。この場合、ユーザーはそれを見ることはありません。そのため、新しいコンピューターに手動で転送することはできません。

于 2011-07-30T15:07:08.753 に答える
0

ひょっとしたら同じものが使えるかもしれません。

データを exe に保存する代わりに (AV の誤検知を呼び出します)、ハッシュしてデータを別のファイルに保存する場合を除きます。

于 2011-07-30T15:06:01.360 に答える