12

現在のアプリケーションでは、非常に単純なスキームを使用して新しいユーザーを登録しています。新しいユーザーが登録すると、キーが記載されたメールが送信されます。このキーが正しいかどうかを確認するために、キーの最後の2桁として追加されるチェックサムの種類が計算されます(3-7-11桁のチェック)。キーのそれ以上の有効性についてのチェックはありません。アプリケーションは、キーが無効になったかどうかをチェックしません。

これは単純なスキームであり、誰かがコードを分解してそれを解読するのに時間をかけました。新しいアプリケーションに別のスキームを使用したいのですが、これを行うための最良の方法がわかりません。

  • 使用できるDelphiライブラリはありますか?
  • 彼の名前など、ユーザーが提供した情報をキーに使用することをお勧めしますか?
  • ユーザーを登録するためのベストプラクティスの方法はありますか?
  • 他に忘れてしまったことはありますか?

一部の登録スキームでは、アプリケーションがWebサーバーで毎回キーがまだ有効かどうかを確認する必要があります。サーバー側で多くの労力が必要になるため、ここまでは行きたくありません。

新規ユーザーを登録するための強力な方法に関する提案やリンクは大歓迎です。

4

4 に答える 4

11

より優れた登録スキームは、非対称暗号化(通常はRSAアルゴリズム)に基づいています。有効なキーを生成できるのは自分だけであり、キーが有効であることを誰もが確認できるという考え方です(非対称暗号化ではこのトリックが可能です)。したがって、トレントに有効なキーが設定されたプログラムを見ると、このキーを与えられた顧客のサポートをキャンセルするだけです。

于 2012-01-09T19:45:54.890 に答える
4

ソフトウェアを保護するために利用できるDelphiライブラリと非Delphiライブラリ(つまりProtexis)があります。Cで動作するほとんどすべてのものがDelphiでも動作することを忘れないでください。しかし、健全なコピー防止スキームを実現するのは難しいかもしれません。単純なキーは機能しない場合があります。通常、特定のシステムでのみ使用できるように、マシンのフィンガープリントを一緒に使用します。

優れたキージェネレータアルゴリズムは、簡単に予測できないキーを生成する必要がありますが、有効かどうかを確認できます。周りにはさまざまなものがあり、「一般的な」ものはなく、ニーズに応じて、情報をアクティブ化または期限切れにする機能が含まれている場合があります。一部のキーは文字列にすることができ、他のキーはライセンスファイル全体にすることができます(Delphi自体で使用されるものとして)。とにかく、コードを分解してアルゴリズムを推測しようとすることができます。コードを難読化して理解しにくくするためのいくつかの手法を使用できます。

また、実行可能ファイルへのパッチ適用を簡単にバイパスできるため、1つの単純なキーチェックでは不十分です。本当にコピー防止が必要な場合は、コード全体にチェックを分散させる必要があります。キーを使用してデータまたはコードセクションを暗号化してから復号化する必要があります。とにかく、keygenから保護することはできず、コードをさらに変更する必要があります。それほど単純ではありません。起動時に1つの関数を呼び出すように。

保護のレベルはあなた次第です。単純な登録メカニズムだけが必要で、ソフトウェアがクラックされることをあまり気にしない場合は、単純なものを使用できます。より安全なものが必要な場合は、より洗練されたものがあります。

于 2012-01-09T20:05:38.067 に答える
4

あなたの目標が、インターネットからのキージェネレータではなく、インターネットからクラックされたEXEをダウンロードするように人々に強制することである場合、非対称暗号化があなたの答えです。

公開されたシリアル番号を無効にしたり、インストール数を制限したり、ユーザーに実際の「有料」シリアル番号を強制したりすることが目標である場合は、アクティベーションが答えです。それでも、彼らがあなたのEXEをクラックした場合、彼らはこれを回避することができます。

あなたは誰かがあなたのEXEをクラックするまでしかコントロールできません。これを受け入れて先に進む必要があります。より手頃なバージョン、付加価値のあるサポートオプション、Webサービスなど、ソフトウェアの価格が適正であり、支払うことでメリットがあることをユーザーに納得させる他の方法など、顧客に連絡する他の方法を理解する必要があります。 。

私の最新のリリースでは、アクティベーションを使用しているため、シリアル番号はランダムに生成されますが、一意性がチェックされ、電子メールアドレスに関連付けられています。

このすべての後、アプリケーションはたったの$ 4.99ですが、個別のサポートはありません。目標は、それを非常に手頃な価格にして、一度でも使用したい場合に、それが良い価値になるようにすることです。

于 2012-01-09T21:16:55.140 に答える
2

OreansのWinLicenseを2年間使用しており、非常に満足しています。これらは、キーの生成(ユーザー名が埋め込まれている)、タイムアウトする試用版、ハードウェアキー(送信するキーがコンピューターに固有である場合)、およびVMの検出を処理します。また、他のさまざまな手法を使用して、提供する暗号化されたVMで選択したコードをラップするなど、コードを分解しにくくします。

「盗まれた」と判断した場合は、特定のキーを無効にすることもできます。これを行うと、提供する将来の更新はこれらのキーでは実行されなくなります。

また、キーが盗まれたかどうかを確認するために、特定の時間にソフトウェア「phonehome」を用意しています。

どんな保護スキームも、十分に決心し、熟練している誰かによって破られる可能性があります。しかし、WinLicenseが提供すると信じているセキュリティの程度には満足しています。彼らのサポートも素晴らしいです。ライブラリはDelphiから呼び出すことができます。

于 2012-01-10T14:27:05.080 に答える