2

クライアントに配布したい試用版ソフトウェアがいくつかあります。インストール後 30 日で試用版ソフトウェアの動作を停止したい。

ソフトウェアでシステムの日付を簡単に確認するのが最も簡単な方法ですが、クライアントは Windows でシステムの時刻/日付を変更することで、この保護を簡単に回避できませんか?

私が望むものを達成するためのより良い方法はありますか?

4

6 に答える 6

3

最近変更されたファイルの変更時刻を確認します (おそらく、頻繁に更新される一般的なパスがいくつかありますが、ファイル システムを検索することもできます)。

また、「残り時間」(秘密の場所に保存されている) を、アプリがそのセッションで実行していた時間だけ減らすことができます。0 になったら完了です。また、クロックが任意のセッションで最後に表示された値から逆方向に移動したことを検出し、たとえば 1 日を削除してペナルティを課すこともできます。

于 2009-09-18T05:22:49.750 に答える
2

あなたのクライアントは誰ですか?一般向けで、対象がかなり狭い場合は、時間ベースのアプローチに固執できると思います。ユーザーがシステム クロックの調整にうんざりし、ソフトウェアを購入することに同意します。しかし、それが非常に人気のあるソフトウェアであるか、開発者を対象としている場合は、試用版の保護を強化する必要があります。

于 2009-09-18T05:29:01.767 に答える
1

ソフトウェアがサーバーに定期的にコールバックすることをお勧めします。ユーザーはシステムクロックを好きなようにいじることができますが、サーバーのクロックを制御するのはあなたです。ライセンスがいつ発行されたかをサーバーが認識していれば、クライアントの時計の状態に関係なく、クライアントからの要求に適切に応答できます。

免責事項とプラグイン: 私が共同設立した会社は、OffByZero Cobalt ライセンス ソリューションを提供しています。これは、ソフトウェア保護のターンキー ソリューションであり、具体的には、あなたが言及したような時間制限のあるシナリオを処理します。

于 2009-10-12T22:42:07.417 に答える
0

前述のように、時間ベースのライセンスは非常に簡単に回避できます。人々がシステムクロックをリセットするのを防ぐために、いくつかのフープを飛び越えることができます。認定されたタイム サーバーに接続して内部時計をそのように設定することもできますが、ロケット科学者がコードにアクセスできれば、それをクラックする必要はありません。簡単な方法は、asm リストで時間チェックを見つけて、その周りに分岐することです。

私たちはこれに何年も取り組んできました (開示: 私はコピー防止会社 (www.wibu.us) で働いています)。時間を戻すことはできません (コードは常に暗号化されているため、パッチを適用できません)。また、スマート カード チップではなく内部クロックを使用するソフトウェアのみのソリューションもあります。すべてのセキュリティ対策には欠点があります。市場、価格帯などに適したトレードオフを見つけることがコツです。

于 2011-03-22T21:51:38.670 に答える