PT Registry Decrypting!!!!!!!

Paltalk tricks, talk about cool Paltalk tricks here

Postby MrAl3n » Sun Sep 03, 2006 10:25 am


lol yep we waitin right here
When life gives you Questions. Google has Answers. ^_^
User avatar
MrAl3n
Co-Admin
Co-Admin
 
Posts: 140
Joined: Mon May 22, 2006 11:04 pm
Location: China

Postby DarkCoder » Mon Sep 04, 2006 8:09 pm

blah not even the best programmer should waste there time on doing this.. unless it was being made ONLY for personal use and no one else will have it. Otherwise.. i give it.. at the most.. a week before paltalk changes the algorithem.
DarkCoder
imFiles Senior
imFiles Senior
 
Posts: 175
Joined: Mon Oct 31, 2005 7:55 pm

Postby mike256 » Tue Sep 05, 2006 4:52 pm

true man.....this is like the kind of thing that if u did figure it out u should keep it to ur self or maybe share it wit some close friends.......cus if paltalk finds out they will change it and then all the work was in vain......

i like to crack codes and stuff so this project was appealing to me and wen i saw some patterns i though this could be some fun lol..... :D
mike256
 

Postby s k 8 e r » Thu Nov 09, 2006 9:07 am

well, its been about a year or two, so i may be rusty, but cant you just make an autoloader for making pt nicks, just make it auto, and add a digit to the end of the name, you know

pt1
pt2
pt3

and see if you can make about 7 nicks in 30 seconds, how it would effect the passes then :s, or i may not just know what im talking about anymore :(
s k 8 e r
imFiles Senior
imFiles Senior
 
Posts: 131
Joined: Sun Apr 09, 2006 4:19 pm
Location: here

Postby Ghost » Thu Nov 09, 2006 9:59 am

ok, do it...

-waits for skater to come back and say 'I couldn't do it because paltalk restricted my ip for excessive server hits.'
Ghost
 

Postby mike256 » Thu Nov 09, 2006 3:47 pm

yea an auto nik maker would be a good idea so u could make niks at different intervals of time....but i could either be on to something or completely off base....

lol....i havnt spent any time figuring this out since my last post..... :lol:
mike256
 

Postby s k 8 e r » Mon Nov 13, 2006 9:15 am

well, i would try, but i dont even have a pc. i have been posting from school... taking a ged class.. i will be back on,programming soon enough, then i will do it..
s k 8 e r
imFiles Senior
imFiles Senior
 
Posts: 131
Joined: Sun Apr 09, 2006 4:19 pm
Location: here

Postby nice_fox102 » Wed Mar 21, 2007 6:18 pm

loooooooooool
interesting. just some hours ago i was trying to decrypt registry passwords and post a question in the pt program request forum to see if such program already exist. and now i found this hot topic here.
i didnt completly analyze this algorithm yet so for now I can say the first step::
paltalk get the serial number of drive wich installed on it and then combine it with username for example if nick is restive543 and serial number of drive is 013B830C it make this "r0e1s3tBi8v3e05C43" then strcat this to itself twice and this is the result
"r0e1s3tBi8v3e05C43r0e1s3tBi8v3e05C43r0e1s3tBi8v3e05C43"

ths string and each byte of password and a random number and a result from _time function used to make 4 digit for each byte of password
nice_fox102
imFiles Junior
imFiles Junior
 
Posts: 71
Joined: Wed Nov 01, 2006 11:16 am

Postby mike256 » Wed Mar 21, 2007 7:04 pm

interesting...but really wen u thing of it.....if ur able to copy the registry where the password r stored u dont need to decrypt them....u could just make new keys and new strings containing the pw n other data ...put it in ur registry...n u open up paltalk n the nik will be there n u can login wit it...lol...n if u want to know the pw u just download a password decryptor...easy to find...and it will take the ******* that u see in the password field n u will see the actual password...so really i dont see a need to decrypt this stuff....although it is interesting...lol
mike256
 

paltalk registry password decryptor

Postby nice_fox102 » Thu Mar 22, 2007 5:52 pm

done.
loooooooool :D
here is small delphi source code for decrypting these passwords. this can be used in our own client for paltalk.

thanx Mike. your old post help me a lot in finding the algorithm.
Attachments
Decryptor.zip
paltalk registry passwords decryptor (delphi source code included)
(208.52 KiB) Downloaded 56 times
nice_fox102
imFiles Junior
imFiles Junior
 
Posts: 71
Joined: Wed Nov 01, 2006 11:16 am

Postby codemastr_ » Sat Mar 24, 2007 6:01 am

Code: Select all
unit MainUnit;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Registry;

type
  TMainForm = class(TForm)
    UsersCombo: TComboBox;
    Label3: TLabel;
    SerialLabel: TStaticText;
    EncPassLabel: TStaticText;
    DecPassLabel: TStaticText;
    procedure FormShow(Sender: TObject);
    procedure UsersComboChange(Sender: TObject);
  private
    { Private declarations }
    function GetVolumeSerial: string;
    function GivePassword(UserName, EncPass, VolumeSerial: string): string;
  public
    { Public declarations }
  end;

var
  MainForm: TMainForm;

implementation

uses StrUtils;

{$R *.dfm}

procedure TMainForm.FormShow(Sender: TObject);
var
  Reg: TRegistry;
begin
  Reg := TRegistry.Create;
  if Reg.OpenKey('\Software\Paltalk',False) then
  begin
    Reg.GetKeyNames(UsersCombo.Items);
    if UsersCombo.Items.Count>0 then
      UsersCombo.ItemIndex := UsersCombo.Items.IndexOf(Reg.ReadString('cur_user'));
    Reg.CloseKey;
  end;
  Reg.Free;
  SerialLabel.Caption := GetVolumeSerial;
  UsersComboChange(Self);
end;

function TMainForm.GetVolumeSerial: string;
var
  SerialNo: Cardinal;
  Tmp: Cardinal;
begin
  GetVolumeInformation('C:\',nil,0,@SerialNo,Tmp,Tmp,nil,0);
  Result := IntToHex(SerialNo,8);
end;

procedure TMainForm.UsersComboChange(Sender: TObject);
var
  Reg: TRegistry;
begin
  Reg := TRegistry.Create;
  Reg.OpenKey('\Software\Paltalk\'+UsersCombo.Text,False);
  EncPassLabel.Caption := Reg.ReadString('pwd');
  Reg.CloseKey;
  Reg.Free;
  DecPassLabel.Caption := GivePassword(UsersCombo.Text,EncPassLabel.Caption,SerialLabel.Caption);
end;

function TMainForm.GivePassword(UserName, EncPass,
  VolumeSerial: string): string;
var
  i,j,k: Integer;
  MixedUserSerial: string;
begin
  while (Length(UserName)+Length(VolumeSerial)>0) do
  begin
    if Length(UserName)>0 then
    begin
      MixedUserSerial := MixedUserSerial + LeftStr(UserName,1);
      Delete(UserName,1,1);
    end;
    if Length(VolumeSerial)>0 then
    begin
      MixedUserSerial := MixedUserSerial + LeftStr(VolumeSerial,1);
      Delete(VolumeSerial,1,1);
    end;
  end;
  i := Length(MixedUserSerial);
  MixedUserSerial := MixedUserSerial + MixedUserSerial + MixedUserSerial;
  j := 0;
  while Length(EncPass)>0 do
  begin
    k := StrToInt(LeftStr(EncPass,3));
    Delete(EncPass,1,4);
    k := k - j - $7A - Byte(MixedUserSerial[i]);
    Result := Result + Char(k);
    Inc(j);
    Inc(i);
  end;
end;

end.


We Must take a look at the source code from Delphi... =)

It uses GetVolumeSerial etc.. to do get a number then calculate ... So it has something to do with the Volume Information -- which helps Decrypt.

Calculation:
Code: Select all
  i,j,k: Integer;
  MixedUserSerial: string;
begin
  while (Length(UserName)+Length(VolumeSerial)>0) do
  begin
    if Length(UserName)>0 then
    begin
      MixedUserSerial := MixedUserSerial + LeftStr(UserName,1);
      Delete(UserName,1,1);
    end;
    if Length(VolumeSerial)>0 then
    begin
      MixedUserSerial := MixedUserSerial + LeftStr(VolumeSerial,1);
      Delete(VolumeSerial,1,1);
    end;
  end;
  i := Length(MixedUserSerial);
  MixedUserSerial := MixedUserSerial + MixedUserSerial + MixedUserSerial;
  j := 0;
  while Length(EncPass)>0 do
  begin
    k := StrToInt(LeftStr(EncPass,3));
    Delete(EncPass,1,4);
    k := k - j - $7A - Byte(MixedUserSerial[i]);
    Result := Result + Char(k);
    Inc(j);
    Inc(i);
  end;


How to Get Serial in C++
Code: Select all
#include <iostream>
#include <windows>


int main() {
char filesys[9];
char vollabel[13];
char buf[4] = "C:\\";
unsigned long flen,flgs,sn ;     /* (only sn used) */;

int x = GetVolumeInformation(buf,vollabel,12L,&sn,&flen,&flgs,filesys,8L);

    std::cout << sn;
   return 0;
}


It will return a number such as (192819381) and then Convert it to Hex you will get the same Value the Delphi Decryptor has in the Volume Serial:
Last edited by codemastr_ on Sat Mar 24, 2007 7:01 am, edited 3 times in total.
User avatar
codemastr_
imFiles Newbie
imFiles Newbie
 
Posts: 21
Joined: Thu Mar 22, 2007 3:15 am
Location: Michigan

Previous

Return to Paltalk Tricks

 


  • Related topics
    Replies
    Views
    Last post
  • registry
    by jekar » Fri Aug 25, 2006 11:09 am
    12 Replies
    1744 Views
    Last post by jekar View the latest post
    Sat Aug 26, 2006 2:26 am

Who is online

Users browsing this forum: No registered users and 0 guests