MCPcopy
hub / github.com/moonD4rk/HackBrowserData / decryptPBE

Function decryptPBE

browser/firefox/extract_password.go:25–39  ·  view source on GitHub ↗

decryptPBE combines base64 decode + ASN1 PBE parse + decrypt into one call.

(encoded string, masterKey []byte)

Source from the content-addressed store, hash-verified

23
24// decryptPBE combines base64 decode + ASN1 PBE parse + decrypt into one call.
25func decryptPBE(encoded string, masterKey []byte) ([]byte, error) {
26 raw, err := base64.StdEncoding.DecodeString(encoded)
27 if err != nil {
28 return nil, fmt.Errorf("base64 decode: %w", err)
29 }
30 pbe, err := crypto.NewASN1PBE(raw)
31 if err != nil {
32 return nil, fmt.Errorf("parse asn1 pbe: %w", err)
33 }
34 plaintext, err := pbe.Decrypt(masterKey)
35 if err != nil {
36 return nil, fmt.Errorf("decrypt: %w", err)
37 }
38 return plaintext, nil
39}
40
41func extractPasswords(masterKey []byte, path string) ([]types.LoginEntry, error) {
42 data, err := os.ReadFile(path)

Callers 1

extractPasswordsFunction · 0.85

Calls 3

DecryptMethod · 0.95
NewASN1PBEFunction · 0.92
ErrorfMethod · 0.80

Tested by

no test coverage detected