📄 uregcode.~pas
字号:
unit URegCode;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,adodb,inifiles,Registry;
type
TRegCode=class
private
Sec:Array[1..126] of integer;
FComputerID: String;
FSoftRegID: String;
function GetSecretCode: String;
Function GetHDID:String;
Function GetCpuID:String;
function GetSelfID: String;
protected
Function GetSourceCode:String;
Function ChangeSourceToDesign(Source:string):string;
Function SecretChar(SC:Char):char;
//Function GetSecretCode:String
public
property SecretCode:String read GetSecretCode;
property SelfID:String Read GetSelfID;
property ComputerID:String read FComputerID write FComputerID;
property SoftRegID:String read FSoftRegID write FSoftRegID;
constructor create;
Function Softreg:Boolean;
function CheckReg:Boolean;
end;
implementation
{ TRegCode }
function TRegCode.ChangeSourceToDesign(Source: string): string;
var
iTemp:integer;
Sresult,Stemp:string;
SC:char;
begin
For Itemp:=1 to Length(source) do
begin
SC:=Source[iTemp];
Sresult:=Sresult+SecretChar(SC);
end;
Stemp:=Sresult[3]+Sresult[2]+Sresult[7]+Sresult[9]
+Sresult[14]+Sresult[1]+Sresult[7]+Sresult[4]
+Sresult[11]+Sresult[5]+Sresult[8]+Sresult[15]
+Sresult[12]+Sresult[6]+Sresult[10]+Sresult[15]
+Sresult[16]+Sresult[2]+Sresult[1]+Sresult[12];
result:=Stemp;
end;
function TRegCode.CheckReg: Boolean;
var
stemp,Stemp1,RTemp,RTemp1:string;
myreg:TRegistry;
begin
stemp:=GetSourceCode;
Stemp1:=ChangeSourceToDesign(stemp);
myreg:=TRegistry.Create;
myreg.RootKey:=HKEY_LOCAL_MACHINE;
myreg.OpenKey('\SOFTWARE\Microsoft\Windows\IE',true);
RTemp:=Myreg.ReadString('ID');
RTemp1:=Myreg.ReadString('default');
if (Stemp=RTemp) and (STemp1=RTemp1) then
result:=true
else
result:=false;
end;
constructor TRegCode.create;
begin
sec[1]:=5; sec[2]:=7; sec[3]:=7; sec[4]:=6; sec[5]:=1; sec[6]:=1; sec[7]:=0;
sec[8]:=5; sec[9]:=6; sec[10]:=3; sec[11]:=6; sec[12]:=4; sec[13]:=8; sec[14]:=3;
sec[15]:=0; sec[16]:=5; sec[17]:=3; sec[18]:=3; sec[19]:=4; sec[20]:=3; sec[21]:=7;
sec[22]:=8; sec[23]:=9; sec[24]:=4; sec[25]:=2; sec[26]:=0; sec[27]:=4; sec[28]:=0;
sec[29]:=8; sec[30]:=4; sec[31]:=9; sec[32]:=6; sec[33]:=2; sec[34]:=2; sec[35]:=4;
sec[36]:=2; sec[37]:=7; sec[38]:=6; sec[39]:=8; sec[40]:=0; sec[41]:=7; sec[42]:=7;
sec[43]:=3; sec[44]:=5; sec[45]:=4; sec[46]:=3; sec[47]:=0; sec[48]:=2; sec[49]:=4;
sec[50]:=9; sec[51]:=9; sec[52]:=5; sec[53]:=3; sec[54]:=2; sec[55]:=8; sec[56]:=3;
sec[57]:=0; sec[58]:=5; sec[59]:=3; sec[60]:=7; sec[61]:=5; sec[62]:=0; sec[63]:=1;
sec[64]:=3; sec[65]:=2; sec[66]:=4; sec[67]:=9; sec[68]:=3; sec[69]:=0; sec[70]:=9;
sec[71]:=6; sec[72]:=8; sec[73]:=4; sec[74]:=4; sec[75]:=8; sec[76]:=3; sec[77]:=0;
sec[78]:=1; sec[79]:=4; sec[80]:=7; sec[81]:=4; sec[82]:=1; sec[83]:=6; sec[84]:=0;
sec[85]:=8; sec[86]:=7; sec[87]:=6; sec[88]:=8; sec[89]:=0; sec[90]:=0; sec[91]:=4;
sec[92]:=8; sec[93]:=3; sec[94]:=9; sec[95]:=1; sec[96]:=8; sec[97]:=1; sec[98]:=2;
sec[99]:=8; sec[100]:=3; sec[101]:=8; sec[102]:=7; sec[103]:=1; sec[104]:=9;
sec[105]:=3; sec[106]:=7; sec[107]:=4; sec[108]:=7; sec[109]:=5; sec[110]:=5;
sec[111]:=2; sec[112]:=2; sec[113]:=1; sec[114]:=8; sec[115]:=1; sec[116]:=5;
sec[117]:=8; sec[118]:=7; sec[119]:=6; sec[120]:=3; sec[121]:=3; sec[122]:=5;
sec[123]:=7; sec[124]:=4; sec[125]:=6; sec[126]:=5;
end;
function TRegCode.GetSecretCode: String;
begin
if FComputerID<>'' then
result:=ChangeSourceToDesign(FComputerID)
else
result:='';
end;
function TRegCode.GetSelfID: String;
begin
result:=GetSourceCode;
end;
function TRegCode.GetSourceCode: String;
begin
result:=GetHDID+GetCpuID;
end;
function TRegCode.SecretChar(SC: Char): char;
var
itemp:integer;
begin
itemp:=ord(SC);
case iTemp of
48..57:
begin
iTemp:=Itemp+Sec[iTemp];
if itemp>57 then
itemp:=itemp-10;
end;
65..90:
begin
iTemp:=Itemp+Sec[iTemp];
if itemp>90 then
itemp:=itemp-26;
end;
97..122:
begin
iTemp:=Itemp+Sec[iTemp];
if itemp>122 then
itemp:=itemp-26;
end;
end;
result:=char(itemp);
end;
function TRegCode.Softreg: Boolean;
var
Stemp,stemp1:string;
myreg:TRegistry;
begin
STemp:=GetSourceCode;
Stemp1:=ChangeSourceToDesign(STemp);
if (Stemp1=FSoftRegID) then
begin
myreg:=TRegistry.Create;
myreg.RootKey:=HKEY_LOCAL_MACHINE;
myreg.OpenKey('\SOFTWARE\Microsoft\Windows\IE',true);
myreg.WriteString('default',stemp1);
myreg.WriteString('ID',stemp);
MessageDlg('注册成功!', mtInformation,
[mbOk], 0);
result:=true;
//写入注册表
end
else
begin
MessageDlg('注册失败!', mtInformation,
[mbOk], 0);
result:=false;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -