Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

using generated credentials in skype #2

Open
vinnitu opened this issue Nov 24, 2015 · 9 comments
Open

using generated credentials in skype #2

vinnitu opened this issue Nov 24, 2015 · 9 comments

Comments

@vinnitu
Copy link

vinnitu commented Nov 24, 2015

~/.SkyLogin/user/Credentials and ~/.Skype/username/config.xml: are not the same? I see that first is in binary format and second in hex, but only first 16 bytes are equal. So I can't to understand can I use first (after conversion to hex-stringify) instead of encond? Maybe I miss something?

@leecher1337
Copy link
Contributor

IIrc., Credentials in Skype for Linux config.xml are encoded with FastTrak cipher:

void FastTrack_decode(unsigned char *buf, unsigned int iLen)
{
  unsigned int crc;
  unsigned int i;

  if ( iLen >= 16 )
  {
    crc = _crc32(buf, 16);
    for ( i = 16; i < iLen; i++ )
    {
      crc = 69069 * crc + 17009;
      buf[i] ^= (crc >> 24);
    }
  }
}

@vinnitu
Copy link
Author

vinnitu commented Nov 25, 2015

So yes or no?

@leecher1337
Copy link
Contributor

Yes, but FastTrack "encrypted", so decrypt them first before checking.

@vinnitu
Copy link
Author

vinnitu commented Nov 25, 2015

int Credentials_Save(Memory_U creds, char *pszUser)
{
    FILE *fp;
    int iRet = 0;
    char  szKey[PATH_MAX];

    sprintf (szKey, "%s/.SkyLogin/", getConfigDir());
    mkdir(szKey, 0755);
    strcat (szKey, pszUser);
    mkdir(szKey, 0755);
    strcat (szKey, "/Credentials");
    if (fp = fopen (szKey, "w"))
    {

        FastTrack_decode(creds.Memory, creds.MsZ); // <------------- something like this?
        // TODO: hexify

        iRet = fwrite(creds.Memory, creds.MsZ, 1, fp);
        fclose(fp);
    }
    return iRet;
}

@leecher1337
Copy link
Contributor

More like the other way round.. Read Credentials3 from Skype .xml file, unhexify it with sscanf and then FastTrack_decode the value to read Skype credentials.
Or what are you planning to do?

@vinnitu
Copy link
Author

vinnitu commented Dec 4, 2015

I need create part of file config.xml tag with pair (login, password)

@leecher1337
Copy link
Contributor

In theory, this should work then, I don't have Skype for Linux to test, just try it out...

@vinnitu
Copy link
Author

vinnitu commented Dec 7, 2015

size of credentials skylogin is 404 bytes (808 in hex),
but size of hex credentials of Credentials3 in skype (linux) is 1212 (606 in binary)

@vinnitu
Copy link
Author

vinnitu commented Dec 7, 2015

maybe we need increase size of rsa key? 512 -> 1024?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants