各位:
我没学过delphi语言,但是这个里面的这个算法我要用到。我用的其他的语言,想各位懂的同仁能不能在后面都备注个意思。
帮我翻译一下。我好尝试按我的语言写。如果能够直接翻译成VB就好,我不大清楚,查资料好像是delphi的很多控制之类的VB不支持,所以有些简单的可以翻译,深层的就不能了吧。不知道这个能不能直接翻译过来。如果不能就帮我在后面像那样 备注下意思 。多谢各位。请帮忙program getpass; {$APPTYPE CONSOLE} uses
SysUtils,
Registry,
Windows; var
Reg: TRegistry; '变量 REG:类型为 TRegistry
buf: PByteArray; '变量 buf:类型为 PBytearray
size: Integer; '变量 size:整数型
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); i: integer; '变量 i:类型为 整数型
username, password: string; '变量 username,password:类型为 字节型
begin
try
Reg := TRegistry.Create;
try
Reg.RootKey := HKEY_LOCAL_MACHINE;
if Reg.OpenKeyReadOnly('SOFTWARE\Eset\Nod\CurrentVersion\Modules\Update\Settings\Config000\Settings') 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; WriteLn('Username: ' + username);
WriteLn('Password: ' + password);
end;
finally
Reg.CloseKey;
Reg.Free;
end;
except
on E: Exception do
Writeln(E.Classname, ': ', E.Message);
end;
end.
我没学过delphi语言,但是这个里面的这个算法我要用到。我用的其他的语言,想各位懂的同仁能不能在后面都备注个意思。
帮我翻译一下。我好尝试按我的语言写。如果能够直接翻译成VB就好,我不大清楚,查资料好像是delphi的很多控制之类的VB不支持,所以有些简单的可以翻译,深层的就不能了吧。不知道这个能不能直接翻译过来。如果不能就帮我在后面像那样 备注下意思 。多谢各位。请帮忙program getpass; {$APPTYPE CONSOLE} uses
SysUtils,
Registry,
Windows; var
Reg: TRegistry; '变量 REG:类型为 TRegistry
buf: PByteArray; '变量 buf:类型为 PBytearray
size: Integer; '变量 size:整数型
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); i: integer; '变量 i:类型为 整数型
username, password: string; '变量 username,password:类型为 字节型
begin
try
Reg := TRegistry.Create;
try
Reg.RootKey := HKEY_LOCAL_MACHINE;
if Reg.OpenKeyReadOnly('SOFTWARE\Eset\Nod\CurrentVersion\Modules\Update\Settings\Config000\Settings') 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; WriteLn('Username: ' + username);
WriteLn('Password: ' + password);
end;
finally
Reg.CloseKey;
Reg.Free;
end;
except
on E: Exception do
Writeln(E.Classname, ': ', E.Message);
end;
end.
解决方案 »
- 字符串分割处理,循环赋值,自己写了有错误,请帮忙修正下
- 这个警告怎么消除:Return value of function 'Initial' might be undefined
- delphi中的datasource控键的dataset属性
- adoquery的问题关于insert into的![cqwty (笨小孩)]
- 关于ip地址的获得
- 鼠标状态问题
- 请各位朋友看看我的代码哪里错了, 我在Myini.ini文件里保存的东西不见了!
- 请问如何作可以换皮肤和语言的软件!?
- VBA 转 Delphi 的问题
- 局域网中如何获得某个工作组下的所有计算机的名字
- 关于“在Chart上用十字丝选点”的一个小问题
- 数据查询问题,有点难度
begin
password := password + chr(buf[i] xor mask[i]);
Inc(i, 2);
end; 难道是这句?应该是异或再转换成字符,拼成字符串吧
对就是这句 这个 password + chr(buf[i] xor mask[i]); chr(buf[i] 和 mask[i]) 这两个值异或比较 这两个值分别是什么意思呢?