Skip to main content

Crate dpapi_core

Crate dpapi_core 

Source
Expand description

Pure-Rust, byte-oriented DPAPI library.

dpapi-core parses the Windows DPAPI_BLOB wire format, decrypts a blob given its master key, and unwraps Chrome/Edge v10/v20 AES-256-GCM cookie values. Every entry point takes &[u8] and performs no I/O, so the same code serves both live-memory (LSASS) and on-disk artifacts (Chrome Login Data / Local State, Credential Manager, Vault, Wi-Fi keys).

The blob format and the decrypt-given-key crypto are identical on disk and in memory; only the source of the master key differs by medium (LSASS cache vs. master-key files + password derivation), which lives in callers.

All cryptography uses audited RustCrypto crates — no hand-rolled primitives.

Re-exports§

pub use blob::parse_dpapi_blob;
pub use blob::DpapiBlob;
pub use chrome::decrypt_local_state_key;
pub use chrome::parse_local_state_encrypted_key;
pub use chrome::ChromeCookieEncoding;
pub use credential::decrypt_credential;
pub use credential::parse_credential_file;
pub use credential::Credential;
pub use decrypt::decrypt_aes256_cbc;
pub use decrypt::decrypt_dpapi_blob;
pub use decrypt::verify_hmac_sha1;
pub use error::DpapiError;
pub use masterkey::derive_master_key_from_domain_backup;
pub use masterkey::derive_master_key_from_password;
pub use masterkey::derive_master_key_from_prekey;
pub use masterkey::parse_master_key;
pub use masterkey::parse_masterkey_file;
pub use masterkey::prekey_from_password;
pub use masterkey::prekey_from_sha1;
pub use masterkey::MasterKey;
pub use masterkey::MasterKeyFile;
pub use masterkey::MASTER_KEY_LEN;
pub use vault::decrypt_vcrd_attribute;
pub use vault::decrypt_vpol_keys;
pub use vault::parse_internet_explorer;
pub use vault::parse_vcrd_attributes;
pub use vault::parse_vpol_file;
pub use vault::VaultVpolKeys;
pub use vault::VcrdAttribute;
pub use vault::WebCredential;
pub use wifi::decrypt_wlan_key_material;
pub use wifi::extract_key_material;

Modules§

blob
chrome
credential
Windows Credential Manager decoder.
decrypt
error
Error type shared across the DPAPI blob parser, decryptor, and Chrome cookie unwrapper.
masterkey
DPAPI master-key file parser + user master-key derivation.
vault
Windows Vault decoder (VAULT_VPOL policy + VAULT_VCRD records).
wifi
Windows Wi-Fi (Wlansvc) WPA/WPA2 PSK decoder.