给出dephli写的key:
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, jpeg;
type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Button1: TButton;
Button2: TButton;
Edit4: TEdit;
Timer1: TTimer;
Image1: TImage;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure ClearMemory;
begin
if Win32Platform = VER_PLATFORM_WIN32_NT then
begin
SetProcessWorkingSetSize(GetCurrentProcess, $FFFFFFFF, $FFFFFFFF);
application.ProcessMessages;
end;
end;
function Strjm(tr:string): int64;
var
i:integer;
h,g,k:int64;
begin
h:=0;
if Length(tr) = 1 then Result :=59
else
begin
for i := 1 to Length(tr) do
begin
h := h shl 4;
h := h+ord(tr[i]);
g := h;
k := g and 4026531840;
if k > 0 then
h := h xor (k shr 24);
k:= not k;
h:=h and k;
end;
Result:=h;
end;
end;
function zcml(a,b:int64;c:byte): int64;
var
d,e:integer;
begin
d:= a+b;
e:=d shl c ;
Result:= e xor d ;
end;
function zcmr(a,b:int64;c:byte): int64;
var
d,e:integer;
begin
d:= a+b;
e:=d shr c ;
Result:= e xor d ;
end;
function zcmjs(a,b,c,d,st:int64): integer;
var
f,g,h,j,k,l,t:integer;
begin
f:=zcmr(a,b,7);
h:=f;
g:=zcml(d,f,13);
j:=g;
f:=zcmr(c,g,17);
k:=f;
g:=zcml(a+b*2,f,9);
l:=g+h;
f:=zcmr(h*2+d,g,3);
g:=zcml(j*2+c,f,7);
f:=g+(k+b)*2+a;
g:=l*2+d;
t:=g;
g:=g shr 15;
f:=f xor g;
t:=f+t;
g:=t shl 11;
f:=g xor t;
Result:=f xor st;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
close;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
A,B,C,D,e:integer;
mytr:string;
begin
mytr:=AnsiUpperCase(Edit1.Text+';'+Edit2.Text);
e:=Strjm(mytr);
A:=zcmjs(55798,3776713814,3607463695,80963102,e);
B:=zcmjs(A,3607463695,3776713814,2623553675,55798);
C:=zcmjs(B,80963102,2623553675,3607463695,A);
D:=zcmjs(C,2623553675,80963102,3776713814,B);
mytr:=inttohex(C,8)+inttohex(D,8);
Edit4.Text:=mytr[7]+mytr[8]+mytr[5]+mytr[6]+mytr[3]+mytr[4]+mytr[1]+mytr[2]+mytr[15]+mytr[16]+mytr[13]+mytr[14]+mytr[11]+mytr[12]+mytr[9]+mytr[10];
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
ClearMemory;
end;
end.
附件:key.src.rar