procedure Decryption(var Data: Pointer);
var
_Length,i:Integer;
begin
if Data=nil then Exit;
_Length:= PInteger( Dword(Data)+4)^;
for i:=0 to _Length-1 do
begin
PByte(Dword(Data)+8+i)^:= PByte(Dword(Data)+8+i)^ xor 7;
end;
function EncryptString(SourceStr: string;SourceLen:integer): string;
var
i: Integer;
begin
SetLength(Result, SourceLen);
for i := 1 to SourceLen do
begin
Result[i] := Chr(Ord(SourceStr[i]) xor 7);
end;
end;