Reg_Crypt 标识可以让您选择一部分代码注册后运行或者可以使用注册密钥进行解码。Enigma可以支持加密16个区间,每个标识可以单独选择一部分代码进行加密,当注册密钥正确时候无需重启程序即开始解码。参看Registration Dialog 和 Creating Keys 版块。
reg_crypt_beginXX.inc
asm
DB $EB, $08, $52, $47, $43, $52, $42, $XX, $00, $00
end;
reg_crypt_endXX.inc
asm
DB $EB, $08, $52, $47, $43, $52, $45, $XX, $00, $00
end;
reg_crypt_beginXX.inc
__asm
{
DB 0xEB, 0x08, 0x52, 0x47, 0x43, 0x52, 0x42, 0xXX, 0x00, 0x00
}
reg_crypt_endXX.inc
__asm
{
DB 0xEB, 0x08, 0x52, 0x47, 0x43, 0x52, 0x45, 0xXX, 0x00, 0x00
}
Call VarPtr("REG_CRYPT_BEGINXX")
Call VarPtr("REG_CRYPT_ENDXX")
uses enigma_ide;
type
TRegType = (rtUnregistered, rtSingle, rtSite, rtCompany, rtPrivate);
function GetRegistrationType : TRegType;
begin
Result := rtUnregistered;
{$I include\reg_crypt_begin1.inc}
if EP_RegLoadAndCheckKey then
begin
Result := rtSingle;
Exit;
end;
{$I include\reg_crypt_end1.inc}
{$I include\reg_crypt_begin2.inc}
if EP_RegLoadAndCheckKey then
begin
Result := rtSite;
Exit;
end;
{$I include\reg_crypt_end2.inc}
{$I include\reg_crypt_begin3.inc}
if EP_RegLoadAndCheckKey then
begin
Result := rtCompany;
Exit;
end;
{$I include\reg_crypt_end3.inc}
{$I include\reg_crypt_begin4.inc}
if EP_RegLoadAndCheckKey then
begin
Result := rtPrivate;
Exit;
end;
{$I include\reg_crypt_end4.inc}
end;