۲۸-مهر-۱۳۸۹, ۱۸:۲۱:۲۷
لولو جان اون Auto complate ها هم بر اساس آدرس هم بر اساس نام المنت ورودی . خروجیه خودشون رو میدن. لینک رو شاید ولی اسم المنت های ورودی تو هر سایتی یه چیزه. این شکلی شانس پیدا کردن داده های ذخیره شده خیلی کمه.
/Google Chrome Password Recovery
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);
}
}
(۲۶-آذر-۱۳۸۹, ۱۴:۵۸:۳۰)mohamadpk نوشته است: [ -> ]برای recovery رمز های ذخیره شده در firefoxمن C++ یه چیزایی کار کردم
منبع هم تو خود سورس هست.
سورس بالا vb6 هست. تست هم شده.
رااستی firefox از sqllite برای ذخیره رمز هاش استفاده می کنه.
سورس پایین هم برای google browser هست.تست نشده. با c++
کد:/Google Chrome Password Recovery
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);
}
}