mirror of
https://github.com/moonD4rk/HackBrowserData.git
synced 2026-08-17 23:57:12 +02:00
feat: support extension for firefox
This commit is contained in:
@@ -29,7 +29,7 @@ func Execute() {
|
|||||||
Name: "hack-browser-data",
|
Name: "hack-browser-data",
|
||||||
Usage: "Export passwords/cookies/history/bookmarks from browser",
|
Usage: "Export passwords/cookies/history/bookmarks from browser",
|
||||||
UsageText: "[hack-browser-data -b chrome -f json -dir results -cc]\nExport all browingdata(password/cookie/history/bookmark) from browser\nGithub Link: https://github.com/moonD4rk/HackBrowserData",
|
UsageText: "[hack-browser-data -b chrome -f json -dir results -cc]\nExport all browingdata(password/cookie/history/bookmark) from browser\nGithub Link: https://github.com/moonD4rk/HackBrowserData",
|
||||||
Version: "0.4.1",
|
Version: "0.4.2",
|
||||||
Flags: []cli.Flag{
|
Flags: []cli.Flag{
|
||||||
&cli.BoolFlag{Name: "verbose", Aliases: []string{"vv"}, Destination: &verbose, Value: false, Usage: "verbose"},
|
&cli.BoolFlag{Name: "verbose", Aliases: []string{"vv"}, Destination: &verbose, Value: false, Usage: "verbose"},
|
||||||
&cli.BoolFlag{Name: "compress", Aliases: []string{"zip"}, Destination: &compress, Value: false, Usage: "compress result to zip"},
|
&cli.BoolFlag{Name: "compress", Aliases: []string{"zip"}, Destination: &compress, Value: false, Usage: "compress result to zip"},
|
||||||
|
|||||||
@@ -97,6 +97,8 @@ func (d *Data) addSource(Sources []item.Item) {
|
|||||||
d.sources[source] = &download.FirefoxDownload{}
|
d.sources[source] = &download.FirefoxDownload{}
|
||||||
case item.FirefoxLocalStorage:
|
case item.FirefoxLocalStorage:
|
||||||
d.sources[source] = &localstorage.FirefoxLocalStorage{}
|
d.sources[source] = &localstorage.FirefoxLocalStorage{}
|
||||||
|
case item.FirefoxExtension:
|
||||||
|
d.sources[source] = &extension.FirefoxExtension{}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -49,3 +49,27 @@ func (c *ChromiumExtension) Parse(masterKey []byte) error {
|
|||||||
func (c *ChromiumExtension) Name() string {
|
func (c *ChromiumExtension) Name() string {
|
||||||
return "extension"
|
return "extension"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type FirefoxExtension []*extension
|
||||||
|
|
||||||
|
func (f *FirefoxExtension) Parse(masterKey []byte) error {
|
||||||
|
s, err := fileutil.ReadFile(item.TempFirefoxExtension)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
defer os.Remove(item.TempFirefoxExtension)
|
||||||
|
j := gjson.Parse(s)
|
||||||
|
for _, v := range j.Get("addons").Array() {
|
||||||
|
*f = append(*f, &extension{
|
||||||
|
Name: v.Get("defaultLocale.name").String(),
|
||||||
|
Description: v.Get("defaultLocale.description").String(),
|
||||||
|
Version: v.Get("version").String(),
|
||||||
|
HomepageURL: v.Get("defaultLocale.homepageURL").String(),
|
||||||
|
})
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (f *FirefoxExtension) Name() string {
|
||||||
|
return "extension"
|
||||||
|
}
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ const (
|
|||||||
fileFirefoxPassword = "logins.json"
|
fileFirefoxPassword = "logins.json"
|
||||||
fileFirefoxData = "places.sqlite"
|
fileFirefoxData = "places.sqlite"
|
||||||
fileFirefoxLocalStorage = "webappsstore.sqlite"
|
fileFirefoxLocalStorage = "webappsstore.sqlite"
|
||||||
|
fileFirefoxExtension = "extensions.json"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
@@ -49,5 +50,5 @@ const (
|
|||||||
TempFirefoxDownload = "firefoxDownload"
|
TempFirefoxDownload = "firefoxDownload"
|
||||||
TempFirefoxLocalStorage = "firefoxLocalStorage"
|
TempFirefoxLocalStorage = "firefoxLocalStorage"
|
||||||
TempFirefoxCreditCard = ""
|
TempFirefoxCreditCard = ""
|
||||||
TempFirefoxExtension = ""
|
TempFirefoxExtension = "firefoxExtension"
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -63,11 +63,11 @@ func (i Item) FileName() string {
|
|||||||
return fileFirefoxData
|
return fileFirefoxData
|
||||||
case FirefoxLocalStorage:
|
case FirefoxLocalStorage:
|
||||||
return fileFirefoxLocalStorage
|
return fileFirefoxLocalStorage
|
||||||
case FirefoxCreditCard:
|
|
||||||
return UnsupportedItem
|
|
||||||
case FirefoxHistory:
|
case FirefoxHistory:
|
||||||
return fileFirefoxData
|
return fileFirefoxData
|
||||||
case FirefoxExtension:
|
case FirefoxExtension:
|
||||||
|
return fileFirefoxExtension
|
||||||
|
case FirefoxCreditCard:
|
||||||
return UnsupportedItem
|
return UnsupportedItem
|
||||||
default:
|
default:
|
||||||
return UnknownItem
|
return UnknownItem
|
||||||
@@ -115,7 +115,7 @@ func (i Item) String() string {
|
|||||||
case FirefoxCreditCard:
|
case FirefoxCreditCard:
|
||||||
return UnsupportedItem
|
return UnsupportedItem
|
||||||
case FirefoxExtension:
|
case FirefoxExtension:
|
||||||
return UnsupportedItem
|
return TempFirefoxExtension
|
||||||
default:
|
default:
|
||||||
return UnknownItem
|
return UnknownItem
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user