階層構造
namespace CS_Activation には、
{
class Activation があり、そのメンバは、
{
1. long
ChkGenuineDLL(string, string, string)
2. int
GetActivationRegistry(string, string)
3. int
SetActivationRegistry(string, string, int, Color, Color)
}
全部で3種類あります。
}
各メンバの機能と処理の流れ
-
アプリケーションの起動時点で ChkGenuineDLL を利用し、CS_Activation.dll
が正規のクラスライブラリ・ファイルであるかどうかを調べます。
偽造された DLL ファイルではないと判断できれば、他の二つのメンバ関数が正しく機能するものとして利用します。
-
アプリケーションの起動時点で、アクティベーションによる認証が完了しているか否かを判定する必要があるので、
正規の CS_Activation.dll と判断した直後、GetActivationRegistry を利用してレジストリから認証状況を取得します。
-
アクティベーションの設定と解除には SetActivationRegistry
を利用し、その状況は常にレジストリに記録されます。
※レジストリには暗号化された状態で記録されますますが、単なる暗号化ではないので、それを他の
PC にコピーしても認証状況は再現できません。
|