mirror of
https://github.com/moonD4rk/HackBrowserData.git
synced 2026-05-19 18:58:03 +02:00
feat: add csv and json output
This commit is contained in:
+36
-12
@@ -1,10 +1,13 @@
|
||||
package utils
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"hack-browser-data/log"
|
||||
"io/ioutil"
|
||||
"os"
|
||||
"path"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
"time"
|
||||
)
|
||||
|
||||
@@ -29,7 +32,6 @@ func CopyDB(src, dst string) error {
|
||||
if err != nil {
|
||||
log.Println(err.Error())
|
||||
}
|
||||
|
||||
err = ioutil.WriteFile(dst, sourceFile, 0777)
|
||||
if err != nil {
|
||||
log.Println(err.Error())
|
||||
@@ -37,14 +39,6 @@ func CopyDB(src, dst string) error {
|
||||
return err
|
||||
}
|
||||
|
||||
func ParseBookMarks() {
|
||||
|
||||
}
|
||||
|
||||
func RemoveFile() {
|
||||
|
||||
}
|
||||
|
||||
func IntToBool(a int) bool {
|
||||
switch a {
|
||||
case 0, -1:
|
||||
@@ -54,6 +48,10 @@ func IntToBool(a int) bool {
|
||||
}
|
||||
|
||||
func TimeEpochFormat(epoch int64) time.Time {
|
||||
maxTime := int64(99633311740000000)
|
||||
if epoch > maxTime{
|
||||
epoch = maxTime
|
||||
}
|
||||
t := time.Date(1601, 1, 1, 0, 0, 0, 0, time.UTC)
|
||||
d := time.Duration(epoch)
|
||||
for i := 0; i < 1000; i++ {
|
||||
@@ -62,11 +60,37 @@ func TimeEpochFormat(epoch int64) time.Time {
|
||||
return t
|
||||
}
|
||||
|
||||
// check time our range[1.9999]
|
||||
func checkTimeRange(check time.Time) time.Time {
|
||||
end, _ := time.Parse(time.RFC3339, "9000-01-02T15:04:05Z07:00")
|
||||
if check.Before(end) {
|
||||
return check
|
||||
} else {
|
||||
return end
|
||||
}
|
||||
}
|
||||
|
||||
func ReadFile(filename string) (string, error) {
|
||||
s, err := ioutil.ReadFile(filename)
|
||||
return string(s), err
|
||||
}
|
||||
|
||||
//func MakeDir(dirName string) error {
|
||||
//
|
||||
//}
|
||||
func WriteFile(filename string, data []byte) error {
|
||||
err := ioutil.WriteFile(filename, data, 0644)
|
||||
if err != nil {
|
||||
return nil
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
func FormatFileName(dir, filename, format string) string {
|
||||
r := strings.TrimSpace(strings.ToLower(filename))
|
||||
p := path.Join(dir, fmt.Sprintf("%s.%s", r, format))
|
||||
return p
|
||||
}
|
||||
|
||||
func MakeDir(dirName string) {
|
||||
if _, err := os.Stat(dirName); os.IsNotExist(err) {
|
||||
err = os.Mkdir(dirName, 0700)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,17 +25,19 @@ var (
|
||||
chromePass []byte
|
||||
)
|
||||
|
||||
func GetDBPath(dbName ...string) (dbFile []string, err error) {
|
||||
func GetDBPath(dbName ...string) (dbFile []string) {
|
||||
for _, v := range dbName {
|
||||
s, err := filepath.Glob(macChromeDir + v)
|
||||
if err != nil && len(s) == 0 {
|
||||
continue
|
||||
}
|
||||
if len(s) > 0{
|
||||
if len(s) > 0 {
|
||||
log.Debugf("Find %s File Success", v)
|
||||
log.Debugf("%s file location is %s", v, s[0])
|
||||
dbFile = append(dbFile, s[0])
|
||||
}
|
||||
}
|
||||
return dbFile, nil
|
||||
return dbFile
|
||||
}
|
||||
|
||||
func InitChromeKey() error {
|
||||
@@ -52,8 +54,8 @@ func InitChromeKey() error {
|
||||
return err
|
||||
}
|
||||
if stderr.Len() > 0 {
|
||||
log.Println(stderr.String())
|
||||
err = errors.New(stderr.String())
|
||||
log.Println(err)
|
||||
}
|
||||
temp := stdout.Bytes()
|
||||
chromePass = temp[:len(temp)-1]
|
||||
@@ -66,7 +68,7 @@ func decryptPass(chromePass []byte) {
|
||||
}
|
||||
|
||||
func Aes128CBCDecrypt(encryptPass []byte) (string, error) {
|
||||
if chromeKey == nil {
|
||||
if len(chromeKey) == 0 {
|
||||
return "", nil
|
||||
}
|
||||
block, err := aes.NewCipher(chromeKey)
|
||||
|
||||
Reference in New Issue
Block a user