質問

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

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

必要なことを達成するためのより良い方法はありますか?

役に立ちましたか?

解決

最善の策は、それらに警告しないことです。30日後(両方の方法を確認してください。そうでなければ、将来クロックを設定し、アプリをインストールし、クロックを今日にリセットできます)証跡期間が終了するとアプリをロックするので、その後で時計をリセットしても、ロックされたままになります

他のヒント

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

また、「残り時間」を減らすことができます。 (ある秘密の場所に保存されます)セッションでアプリが実行されていた時間。 0に達すると完了です。また、任意のセッションで時計が最新の値から後方に移動したことを検出し、たとえば一日中。

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

はい、彼らはシステムクロックをいじることができます。しかし、試用期間の終了日を超えると、次第に不便になります。彼らはあなたのソフトウェアを使うのをあきらめてから時計に酔いしれます。

または、さらに多くの場合、彼らはあなたの保護スキームをハッキングして、それを使用するための無期限の時間を与えます。

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

免責事項&プラグ:私が共同設立した会社は、 OffByZero Cobaltライセンスソリューションを作成しています。これは、ソフトウェア保護のターンキーソリューションです。言及した種類の期間限定シナリオを具体的に処理します。

前述のとおり、時間ベースのライセンスは簡単に回避できます。ユーザーがシステムクロックをリセットしないように、いくつかのフープをジャンプできます。認定タイムサーバーに連絡して内部時計をそのように設定することもできますが、ロケット科学者がコードにアクセスできれば、それを解読することはできません。簡単な方法は、asmリストでタイムチェックを見つけて、その周りに分岐することです。

私たちはこれに長年取り組んでおり(開示:コピー防止会社(www.wibu.us)で働いています)、スマートカードチップの内部時計と認定タイムサーバー、およびいくつかのコードの組み合わせを使用しています時間を決して設定できないようにするため(コードは常に暗号化されているため、パッチを適用できません)。また、スマートカードチップではなく内部クロックを使用するソフトウェアのみのソリューションもあります。すべてのセキュリティ対策には欠点があります。市場や価格などに見合った適切なトレードオフを見つけることが秘trickです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top