本文整理自网络,侵删。
var
Form1: TForm1;
mask: array[0..19] of Byte = ($61, $D6, $D4, $E9, $DD, $F0, $FB, $F2, $5B, $64, $35, $AD, $B7, $C8, $19, $75, $EC, $31, $2B, $BC);
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
Reg: TRegistry;
buf: PByteArray;
size: Integer;
i: integer;
username, password: string;
begin
try
Reg := TRegistry.Create;
Reg.RootKey := HKEY_LOCAL_MACHINE;
if Reg.OpenKey('SOFTWARE\ESET\ESET Security\CurrentVersion\Plugins\01000400\Profiles\@My profile',false) then
begin
username := Reg.ReadString('Username');
size := Reg.GetDataSize('Password');
GetMem(buf, size);
Reg.ReadBinaryData('Password', buf^, size);
i := 0;
while i < size - 1 do
begin
password := password + chr(buf[i] xor mask[i]);
Inc(i, 2);
end;
ShowMessage('Username: ' + username);
ShowMessage('Password: ' + password);
end;
finally
Reg.CloseKey;
Reg.Free;
end;
end;
相关阅读 >>
Delphi application.restore; 简单用法
Delphi copyfileprogressbar 拷贝文件显示进度条
Delphi webbrowser载入自定义html内容并显示
Delphi 10.4.1 edgebrowser 模拟操作网页方法
Delphi实现win10下Delphi 10.3.1 inline hook 域名转向之internetconnecta
Delphi 2010下使用sqlitesimpleDelphi连接sqlite数据库及中文乱码问题的解决
更多相关阅读请进入《Delphi》频道 >>