mirror of
https://github.com/moonD4rk/HackBrowserData.git
synced 2026-07-04 21:37:47 +02:00
* feat(restore): cross-platform restore via dump engine rebuild (#606) Restore previously required the dump's origin OS, overlaying keys onto locally-discovered browsers. It now rebuilds Chromium engines from the dump's vaults (v2 adds engine kind), so copied data or an archive zip decrypts on any OS. * fix(restore): polish help text, drop dead check, dedup dump kinds pflag treats backticked words in flag usage as the value placeholder, so --data-zip rendered as "--data-zip archive" in help output.
This commit is contained in:
@@ -39,3 +39,32 @@ func TestReadJSON_AcceptsCurrentVersion(t *testing.T) {
|
||||
t.Errorf("Version = %q, want %q", parsed.Version, DumpVersion)
|
||||
}
|
||||
}
|
||||
|
||||
func TestDump_VaultKindRoundTrip(t *testing.T) {
|
||||
d := NewDump()
|
||||
d.Vaults = append(d.Vaults, Vault{
|
||||
Browser: "chrome",
|
||||
Kind: "chromium",
|
||||
UserDataDir: "/p",
|
||||
Profiles: []string{"Default"},
|
||||
Keys: MasterKeys{V10: []byte{0x01}},
|
||||
})
|
||||
|
||||
var buf bytes.Buffer
|
||||
if err := d.WriteJSON(&buf); err != nil {
|
||||
t.Fatalf("WriteJSON: %v", err)
|
||||
}
|
||||
parsed, err := ReadJSON(&buf)
|
||||
if err != nil {
|
||||
t.Fatalf("ReadJSON: %v", err)
|
||||
}
|
||||
if len(parsed.Vaults) != 1 {
|
||||
t.Fatalf("Vaults len = %d, want 1", len(parsed.Vaults))
|
||||
}
|
||||
if parsed.Vaults[0].Kind != "chromium" {
|
||||
t.Errorf("Vault.Kind round-trip: got %q, want %q", parsed.Vaults[0].Kind, "chromium")
|
||||
}
|
||||
if parsed.Vaults[0].Browser != "chrome" {
|
||||
t.Errorf("Vault.Browser round-trip: got %q, want %q", parsed.Vaults[0].Browser, "chrome")
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user