function HexTo(Source: String): TByteArray;
var
i,CharPtr:Integer;
tmp:String;
begin
CharPtr := 1;
for i := 0 To Length(Source) div 2 -1 do
begin
tmp := Copy(Source, CharPtr, 2);
inc(CharPtr,2);
Result[i] := StrToInt('$'+tmp);
end;
end;
function ToHex(Buffer:PByteArray; Len: Integer):string;
const
HexCode: Array [$0 .. $F] Of AnsiChar = '0123456789ABCDEF';
var
i:integer;
begin
for i := 0 to Len - 1 do
begin
Result := Result + HexCode[Buffer[i] shr 4]+HexCode[Buffer[i] and $0F];
end;
end;
procedure test;
var
arr: TByteArray;
begin
LoadKeys;
arr := HexTo(Edit1.text)
DeCodeC3(@Arr,Arr[1],True);
Edit2.Text := ToHex(@DecryptResult,DecryptResult[1]);
end;
procedure TMyFrm.MyButtonClick(Sender: TObject);
begin
test;
end;