0

私がプログラムを開発し、クライアントコンピューターにアクセスできるとしましょう。コンピューターの一意の識別子を書き込むことによって、そのコンピューターでのみ実行できるようにプログラムを開発する方法はありませんか (何かがある場合)そのように)コードに入れ、プログラムをコンパイルします。Delphi XE2を使用しています

4

4 に答える 4

4

はい、実行可能ファイルをマシンの特性にバインドすることで、ある程度の不正使用を防ぐことができます。あなたはそれを自分で行うことができます(問題があります)か、既製のソリューションを購入して代わりに行うことができます(免責事項-私は、これらの種類の問題のソリューションを作成する会社の1つで働いています:Wibu-Systems)。マシン バインドには 2 つの問題があります。私たちはそれらの1つを助けることができます:

  1. 誤検知: ユーザーのアップグレードやドライバーの異常な動作により、マシンの特性が変化する可能性があります。これにより、ライセンス システムは、ユーザーがライセンスを悪用しようとしている (誤検知) と報告する可能性があります。これは、これらのシステムに固有の問題です。(恥知らずな自己宣伝: この種のエラーを軽減または排除するための新しいバインド方法をリリースしました。これをSmartBind (tm) と呼びます)。

  2. クラッキング可能性: どのマシン バインディングも、OS 呼び出しを使用してハードウェアの「フィンガープリント」情報を検証のために取得する必要があるため、クラッカーは、既知の「適切な」値を常に返すために使用される dll にパッチを適用して、ソフトウェアをクラックできるようにすることができます。この種のクラックは、bittorrent サイトで蔓延しています。残念ながら、これを回避する優れた方法はありませんが、私たちのアプローチでは、いくつかの仮想通貨を使用して実行を困難にしています。究極の著作権侵害防止のためには、CmStick、HASP、KeyLok などの暗号化デバイスを使用する必要があります。もちろん、NSA は何でもクラックできますが、CodeMeter のような一流のハードウェアベースのソリューションをクラックすることの難しさは、見返りが本当に巨大でない限り、ありそうにありません。

私が強くお勧めするのは、商用ソリューションを調べて、利用可能なオプションを注意深く検討することです。この分野には多数のベンダーがあり、選択できるいくつかの優れた製品があります (もちろん、私たちの製品が最高だと思います)。独自のソリューションを展開すると、さまざまな構成の問題や不満を抱く可能性のあるユーザーに対処しようとするため、下流に多くの悲しみが生じます。

于 2012-04-09T20:30:48.433 に答える
0

簡単なものが必要な場合は、各マシンバーのハッキングに固有の番号としてハードディスクボリュームIDが提供されます。

function GetHDSerialNumber: Dword;
var dw:DWord; mc, fl : dword; c:string;
begin
  c:=extractfiledrive(application.exename)+'\';
  GetVolumeInformation(Pchar(c),nil,0,@dw,mc,fl,nil,0);
  Result := dw;
end;

これはDelphi2007まで機能し、上記のバージョンはユニコードであり、あなたはその問題に自分自身で取り組んでいます。

于 2012-04-10T12:25:10.477 に答える
0

言及された Wibu システムがまだハッキングされていないハッキング防止ハードウェアなどはありませんが、最も高度なハッキングをほとんど不可能にする物理的な設計機能を含む強力なハッキング対策機能を備えています。

i-Lock などの他のソリューションもハッキングされていますが、今のところ Wibu が良い答えです。スターターパックを購入しました。

于 2012-04-27T19:01:42.540 に答える