12

私は自分のソフトウェアをシェアウェア ベースで実装したいと考えています。これにより、ユーザーは、ソフトウェアを試すための最大 (たとえば) 30 日間の試用期間が与えられます。購入時に、ランダムに生成されたキーをユーザーに提供するつもりです。キーを入力すると、ソフトウェアが再び有効になります。

私はこれまでこのルートをたどったことがないので、アドバイスやフィードバック、またはこれがどのように行われるかの「標準的な」方法へのポインタは大歓迎です。

ユーザーがシステムの日付などを変更してごまかすことはないと思いますが、これはおそらく検討する価値があります。このトピックが以前に登場した場合はお詫び申し上げます。

4

5 に答える 5

5

ランダムに生成されたキーに関して、キーが正当であるかどうか、またはキーが実際にランダムである場合に偽物であるかどうかをどのように確認しますか? 記事「部分シリアル番号検証システムの実装」を参照してください。これは非常に優れており、どの言語でも簡単に実装できます。

タイムトライアルに関しては、基本的な解決策は、メインの実行可能ファイルの作成時間を現在のシステム時間と比較し、その差に基づいて行動することです。これは、インストーラーがコンパイルした時間を保持するのではなく、ファイルの作成時間をインストール時に設定することを前提としています! :)

于 2008-10-06T11:30:41.850 に答える
3

あなたのソフトウェアが本当に役に立つなら、最初の注文を見る前に、P2P でクラックされたコピーを確実に見つけることができます。これは、実装しようとしているライセンス施行コードがどれほど洗練されていても発生します。

とは言っても、最初の実行日をどこかに保存するだけで (Windows の場合はレジストリの可能性があります)、30 日後に開始を拒否するか、リマインダー ウィンドウを開きます。

詐欺師について心配する必要はありません。彼らは何があっても、あなたの制限を回避する方法を見つけます。正直な顧客を心配し、彼らの生活をより困難にしないように努力してください。

Eric Sink がこれについて詳しく書いています (セクション 4)

于 2008-10-06T11:38:23.987 に答える
3

また、現在の日付がインストール日よりも魔法のように短い場合など、時間の大幅な変更にも注意してください。

このタイプの日付ロックを回避する 1 つの方法は、インストールする前に日付を将来の年に変更することです。そのため、今日の日付がインストール日より前でないことを確認する必要があります。

于 2008-10-06T11:39:02.627 に答える
1

このライブラリを参照してください。

説明:

あらゆるアプリケーションを期間限定のシェアウェアに変換します。シリアル番号を生成して登録します。堅牢な暗号化を備えた柔軟なロック システムを提供する関数ライブラリ。実装が簡単。VB、C++、Delphi、その他の言語のサポート。

于 2008-10-06T11:36:34.737 に答える
1

最初の起動時に、実際の日付をどこかに保存できます。
次の開始ごとに、保存された日付を探し、存在する場合はそれを読み取り、最初の開始から 30 日以上経過している場合は、プログラムを停止します。

于 2008-10-06T11:23:36.043 に答える