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

Function dumpKeysCmd

cmd/hack-browser-data/dumpkeys.go:13–54  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

11)
12
13func dumpKeysCmd() *cobra.Command {
14 var (
15 browserName string
16 outputPath string
17 keychainPw string
18 )
19
20 cmd := &cobra.Command{
21 Use: "dumpkeys",
22 Short: "Export Chromium master keys as JSON for cross-host decryption",
23 Example: ` hack-browser-data dumpkeys -o keys.json
24 hack-browser-data dumpkeys -b chrome`,
25 RunE: func(cmd *cobra.Command, args []string) error {
26 browsers, err := browser.DiscoverBrowsersWithKeys(browser.DiscoverOptions{
27 Name: browserName,
28 KeychainPassword: keychainPw,
29 })
30 if err != nil {
31 return err
32 }
33
34 dump := browser.BuildDump(browsers)
35 log.Infof("Exported keys for %d vault(s)", len(dump.Vaults))
36
37 if outputPath == "" {
38 return dump.WriteJSON(os.Stdout)
39 }
40 f, err := os.OpenFile(outputPath, os.O_CREATE|os.O_WRONLY|os.O_TRUNC, 0o600)
41 if err != nil {
42 return fmt.Errorf("create %s: %w", outputPath, err)
43 }
44 defer f.Close()
45 return dump.WriteJSON(f)
46 },
47 }
48
49 cmd.Flags().StringVarP(&browserName, "browser", "b", "all", "target browser: all|"+browser.Names())
50 cmd.Flags().StringVarP(&outputPath, "output", "o", "", "output file (default: stdout)")
51 cmd.Flags().StringVar(&keychainPw, "keychain-pw", "", "macOS keychain password")
52
53 return cmd
54}

Callers 1

rootCmdFunction · 0.85

Calls 6

DiscoverBrowsersWithKeysFunction · 0.92
BuildDumpFunction · 0.92
InfofFunction · 0.92
NamesFunction · 0.92
WriteJSONMethod · 0.80
ErrorfMethod · 0.80

Tested by

no test coverage detected