2

会社のソフトウェア保護スキームを調査中です。案の定、非常に多くの代替手段があり、それらのほとんどすべてが制限機能を提供します。

  1. 使用回数(実行)
  2. 日数

考えてみれば、「アプリを使った回数」や「使った日数」は、パソコンのどこかに保存されているはずです。ここで、これらのメカニズムのいずれかを使用して保護されたアプリケーションは、管理者特権で実行する必要はないと仮定します。また、通常のユーザー権限を持つアプリケーションは、他のユーザーに影響を与える場所を変更できないことを理解しています。これは、アプリケーションがユーザー A に対して有効期限が切れている場合でも、ユーザー B に対しては引き続き実行されることを意味します (これは非常にばかげているように見えます)。これらのスキームが情報を隠して機能させることができる場所はどこにあるのだろうか?

4

6 に答える 6

3

アプリケーションのデータファイルやレジストリの奥深くなど、見つけにくい場所に隠しているだけです。したがって、期限付きの制限 (4 月 4 日まで実行) については、ファイルの日付を使用するか、レジストリのどこかにインストール日付を書き込むことができます (通常の場所ではなく、多くのドライバ セクションの奇妙なキーの下に書き込みます)。ランダムな 64 文字のキー)。これらのキーは、さらに保護することができます (すべてのユーザーの書き込みアクセスを削除します)。

ただし、「回数」制限ではキーを書き込む必要があるため、「制限付きアクセス」スキームは機能しません (または保護に対して機能します)。これらの場所には保護がありませんが、情報がどこに保存されているか誰も知らないという事実があります。適切な場所は、巨大なデータ ファイルのどこかです。これにより、クラッカーは、カウンターがそのファイルのどこかにあるに違いないとわかったとしても、見つけるのが難しくなります。

とはいえ、ほとんどの優れたソフトウェアは、保護されているからではなく、優れているから売れます。

于 2009-02-19T14:37:29.110 に答える
2

この種のことを確実に行う唯一の方法は、ある種のクライアントサーバースキームであると私は信じています。たとえば、あなたの会社にはライセンス サーバーがあり、クライアントのソフトウェアは実行するたびにサーバーにクエリを実行します。もちろん、これにはインターネット接続が必要ですが、常に利用できるとは限りません...

確かにレジストリに何かを書き込むことはできますが、ユーザーがそれを変更することを妨げるものは何もありません。

于 2009-02-19T13:47:55.360 に答える
1

少なくとも 1 回は管理者権限で実行する必要があるいくつかの保護メカニズムを知っています (例: インストール中)。ユーザー固有ではない場所 (HKEY_LOCAL_MACHINE、ProgramFiles、さらには WinDir など) に場所を設定し、(認証された) ユーザーの書き込み権限をその場所に設定すると思います。

于 2009-02-19T13:54:08.170 に答える
1

「そして、通常のユーザー権限を持つアプリケーションは、他のユーザーに影響を与える場所を変更できないことを理解しています」 - この文はあなたが誤解している場所です.

アプリケーションは、この種の情報をファイル、レジストリ (Windows の下)、または場合によっては独自のコードまたはデータ ファイルに保存できます。

たとえば、あるユーザーがテキスト ファイルを保存して、別のユーザーがそれを読み取ったり読み取ったりできるようにすることができます。パーミッションは 1 人のユーザーのみにプライベートなものを保持できますが、コードは通常、ほぼすべてのオペレーティング システムで任意のユーザーがファイルを読み取ることができるようにするために自由に使用できます。

于 2009-02-19T13:48:01.303 に答える
0

ソフトウェア保護は、タイムトライアル情報をレジストリまたはファイルに保存します。レジストリやファイルモニターなどのプログラムを使用して、レジストリまたはファイルからこのデータを読み取ろうとする試みをすばやく把握できます。もう1つの方法は、リバースエンジニアリングです。デバッガーを使用すると、レジストリからデータを読み取るためのRegOpenKeyEx/RegQueryValueExやファイルから情報を読み取るためのCreateFile/ReadFile / GetFileSizeなど、このスコープに使用される既知のWinAPにブレークポイントを設定できます。これらのAPIのドキュメントをMSDNに読むことを検討する必要があります。

于 2011-01-19T02:43:23.740 に答える
0

これらのスキームが情報を隠して機能させることができる場所はどこにあるのだろうか?

少なくとも Windows では、レジストリはすべてのユーザーがアクセスできる共通のデータ ストアになります。

于 2009-02-19T13:41:17.060 に答える