În timp ce nu puteți recupera direct o parolă MySQL fără bruteforcing, este posibil să existe o altă modalitate - dacă ați folosit MySQL Workbench pentru a vă conecta la baza de date și ați salvat acreditările în "vault", sunteți aur.
Pe Windows, acreditările sunt stocate în % APPDATA% \ MySQL \ Workbench \ workbench_user_data.dat - criptate cu (fără nicio entropie suplimentară). Decriptarea este ușor de peas:
std::vector decrypt(BYTE *input, size_t length) {
DATA_BLOB inblob { length, input };
DATA_BLOB outblob;
if (!CryptUnprotectData(&inblob, NULL, NULL, NULL, NULL, CRYPTPROTECT_UI_FORBIDDEN, &outblob)) {
throw std::runtime_error("Couldn't decrypt");
}
std::vector output(length);
memcpy(&output[0], outblob.pbData, outblob.cbData);
return output;
}
Sau puteți verifica acest thread DonationCoder pentru sursa + executabilul unei implementări rapide și murdare.