14

カスタム ソフトウェアの試用期間を提供する必要があります。64 ビットのマルチプロセッサ サポート DLL を使用する 64 ビット C# アプリがあります。含まれるその他のユーティリティは、C++ で記述されています (exe および dll)。C# コードを暗号化し、ソフトウェアを特定のマシンでのみ実行するようにキーを設定し、マシンのクロックをリセットしても無効にできない有効期限を強制する必要があります。

私はいくつかのオープン ソースおよび COTS ソリューションを評価してきました。ほんの数例を挙げると、Infralution Licensing System、Protector、および ExeShield です。私の制約をすべて満たすものはありません。

私が検討すべき包括的なソリューションを知っている人はいますか? それとも、レジストリ ダイビングを行い、カスタム コードを使用して強制する必要がありますか?

4

5 に答える 5

36

さまざまなライセンス システムを数年間試した結果、セキュリティと潜在的な顧客の疎外との間に強い逆相関があることがわかりました。

基本的に、心配する必要がある著作権侵害には 2 種類あります。1 つはカジュアルな著作権侵害です。ユーザーは、実際に支払うことを考えていないという理由だけで、支払いをせずにソフトウェアを使用しています。もう 1 つは意図的な著作権侵害です。これは、支払いを行わないことを決意し、支払いを行わないように真摯に努力する人々です。

カジュアルな著作権侵害は、アクティベーション キー、時間制限などの穏やかなリマインダーに帰着するもので処理できます。一方、意図的な著作権侵害は本質的に防止できません。ソニー、アップル、マイクロソフト、任天堂、およびその他の多くの企業が言うように、ソフトウェアだけでなくハードウェアも制御できるという利点がある場合でも、保護スキーム破られます。そして、それを壊す人は、フリーソフトウェアを手に入れたいという欲求と同じように、楽しい挑戦のためにそれをやっている可能性が高い. そのため、特定の人口統計学的には、保護を強化しても意欲をそがれるわけではなく、まったく逆の結果になります。

その間、強力な保護を実現しようと試みるすべてのことは、正当なユーザーを壁に押し上げることになります。タイムゾーンが変更されたため、システムクロックでゲリマンダーを検出するためのトリップが開始された可能性があります。あるいは、不良なハード ドライブや CPU などを交換する必要があり、それが原因でシステムのクローン作成メカニズムが開始されたのかもしれません。または、Microsoft が Windows のデフォルトのセキュリティ設定を変更して、アプリの使用中に Windows が UAC 警告を大量に表示するように変更したのかもしれません。職場では商用ソリューションを使用していますが、ソフトウェアのバグによってライセンス データが破損し、ユーザーがプログラムからロックされる可能性があることを発見しました。システムがそのデータを保存する方法が原因で、回復不能な状況になっています。顧客は文字通り、そのコンピューターでそのソフトウェアを二度と使用しないか、ハード ドライブを消去するかを選択する必要があります。はい、それは何度も起こりました。はい、それによって多くの潜在的な収益を失いました。はい、私たちは主に口コミに依存しており、多くの悪い口コミが生成されているため、それが引き起こした損害を考えると吐き気がします. 簡単に言えば、初期の頃の海賊行為に対する素朴なパラノイアのせいで、おそらくカリブ海でかなりの数のセーリング休暇を過ごすことになりました。潜在的な収益の多くを失いました。はい、私たちは主に口コミに依存しており、多くの悪い口コミが生成されているため、それが引き起こした損害を考えると吐き気がします. 簡単に言えば、初期の頃の海賊行為に対する素朴なパラノイアのせいで、おそらくカリブ海でかなりの数のセーリング休暇を過ごすことになりました。潜在的な収益の多くを失いました。はい、私たちは主に口コミに依存しており、多くの悪い口コミが生成されているため、それが引き起こした損害を考えると吐き気がします. 簡単に言えば、初期の頃の海賊行為に対する素朴なパラノイアのせいで、おそらくカリブ海でかなりの数のセーリング休暇を過ごすことになりました。

そして最悪なのは、正当なユーザーだけの問題だということです。クラッカーは、最後の手段となれば、デバッガーと逆コンパイラーの助けを借りて、簡単に (痛いほど簡単に) 回避できます。ソフトウェアがエンド ユーザーの所有するデバイス上にある場合、ソフトウェアが既にクラックされているかのように考え始めることもできます。ソフトウェア保護メカニズムの煩わしさを避けるためだけに、合法的に所有するソフトウェアをクラックするという考えを中心に構築された家内工業が存在するほどです. 彼らはあなたにお金をくれますが、あなたのコピープロテクションはそれほどいらいらさせられ、簡単に回避できるので、彼らはまだソフトウェアをクラックします. 別の方法は、これが私が行ったルートですが、煩わしさの少ない別のソフトウェアを購入することです。

したがって、最小限にとどめてください。時計を見て、デモをタイムアウトしてください。ユーザーに小切手を送信するように通知する必要があるからです。しかし、彼らがあなたに小切手を与えたくないという決定を下すような方法でそれをしないでください. あなたの目標が売り上げを伸ばすことである場合、これは、ユーザーがシステム クロックをいじってデモ期間に違反しないようにするための、最も洗練され、費用対効果が高く、効率的なシステムであると考えてください。時計が間違った日付に設定されています。そして、それはホームユーザー向けです。(正当な) ビジネスの場合、それは実行可能なオプションでさえありません。そして、それで思いとどまらない人は、おそらく、最初からソフトウェアにお金を払う手段がなかったスクリプトキディです。

于 2011-03-30T15:51:47.320 に答える
1

回復不能になるような方法で保存するにはどうすればよいですか?レジストリエントリとファイルは削除できます。代替データストリームはzipファイルにコピーされないため、ソフトウェアのインストールデータ(インストールからの日数を計算するために現在の時刻を参照するために使用されている)を含むADSを含むファイルがわかっている場合は、それをzipファイルに圧縮してから再度抽出し、インストール日の参照にバイバイすることができます。それを生データとしてハードドライブに保存し(ファイルアロケーションテーブルでファイルとして参照されない)、ファイルがハードドライブのその場所に保存されるときに上書きされます。

だから私は文字通り、コピー防止のために試用インストール日を削除することを不可能にする方法を見ることができません。それはできません。

于 2012-02-01T23:09:42.460 に答える
1

これにはhttp://xheo.com/製品を使用してください。これらは、コードの保護に優れたコードオブフィスケーターと、想像するすべてのことを実行できるライセンスプラットフォームを提供します。彼らはあなたのコードにコンパイルできるバージョンを提供します。

暗号化-http: //xheo.com/products/code-protection ライセンス-http: //xheo.com/products/copy-protection

于 2011-03-30T15:23:05.243 に答える
1

www.time.gov のようなインターネット ソースからの時間を使用しないのはなぜですか? C++ Qt アプリを折りたたみ、QtWebKit ライブラリhttp://doc.qt.nokia.com/4.7/qtwebkit.htmlを使用して時刻をダウンロードできます。(私は実際にこのようなことをしたことはありませんが、ドキュメントを見ると有望に見えます. program-essential dll を再コンパイルしてください。これは、プログラムが実行されるたびにチェックされます。インターネットに接続していない場合は、数回警告しますが、最終的にはロードを中止します。

これのもう 1 つのバリエーションは、多くのソフトウェア パッケージで使用されていると思いますが、ユーザーがソフトウェアの使用を開始した日付をサーバーに保存することです。ユーザー固有のコードを使用してユーザーごとにプログラムを再コンパイルし (これをスクリプト化できる場合があります)、プログラムはロードされるたびにサーバーに保存されている日付と照合します。

于 2011-03-30T15:28:35.483 に答える
0

おそらく、最小限の機能しか持たない小さなアプリケーションを無料で配布する方がよいでしょう。その後、顧客は追加機能やアドオンの料金を支払います。

私のアプリケーションでは、有料でより多くのデータを提供することを人々が提案しています。アプリケーションは、最小限のデータで無料になります。もう 1 つのアイデアは、高度なデータ アクセスをサブスクリプション料金で利用することです。

于 2011-03-30T16:55:51.223 に答える