SYMBOL INDEX (467 symbols across 47 files) FILE: browser/browser.go type Browser (line 16) | type Browser interface function PickBrowsers (line 24) | func PickBrowsers(name, profile string) ([]Browser, error) { function pickChromium (line 41) | func pickChromium(name, profile string) []Browser { function pickFirefox (line 80) | func pickFirefox(name, profile string) []Browser { function ListBrowsers (line 112) | func ListBrowsers() []string { function Names (line 120) | func Names() string { FILE: browser/browser_darwin.go constant chromeStorageName (line 114) | chromeStorageName = "Chrome" constant chromeBetaStorageName (line 115) | chromeBetaStorageName = "Chrome" constant chromiumStorageName (line 116) | chromiumStorageName = "Chromium" constant edgeStorageName (line 117) | edgeStorageName = "Microsoft Edge" constant braveStorageName (line 118) | braveStorageName = "Brave" constant operaStorageName (line 119) | operaStorageName = "Opera" constant vivaldiStorageName (line 120) | vivaldiStorageName = "Vivaldi" constant coccocStorageName (line 121) | coccocStorageName = "CocCoc" constant yandexStorageName (line 122) | yandexStorageName = "Yandex" constant arcStorageName (line 123) | arcStorageName = "Arc" FILE: browser/browser_linux.go constant chromeStorageName (line 85) | chromeStorageName = "Chrome Safe Storage" constant chromiumStorageName (line 86) | chromiumStorageName = "Chromium Safe Storage" constant edgeStorageName (line 87) | edgeStorageName = "Chromium Safe Storage" constant braveStorageName (line 88) | braveStorageName = "Brave Safe Storage" constant chromeBetaStorageName (line 89) | chromeBetaStorageName = "Chrome Safe Storage" constant operaStorageName (line 90) | operaStorageName = "Chromium Safe Storage" constant vivaldiStorageName (line 91) | vivaldiStorageName = "Chrome Safe Storage" FILE: browser/chromium/chromium.go type Chromium (line 16) | type Chromium struct method Name (line 49) | func (c *Chromium) Name() string { method BrowsingData (line 53) | func (c *Chromium) BrowsingData(isFullExport bool) (*browserdata.Brows... method copyItemToLocal (line 85) | func (c *Chromium) copyItemToLocal() error { method userDataTypePaths (line 109) | func (c *Chromium) userDataTypePaths(profilePath string, items []types... function New (line 26) | func New(name, storage, profilePath string, dataTypes []types.DataType) ... function chromiumWalkFunc (line 140) | func chromiumWalkFunc(items []types.DataType, multiItemPaths map[string]... function fillLocalStoragePath (line 176) | func fillLocalStoragePath(itemPaths map[types.DataType]string, storage t... FILE: browser/chromium/chromium_darwin.go method GetMasterKey (line 25) | func (c *Chromium) GetMasterKey() ([]byte, error) { method parseSecret (line 62) | func (c *Chromium) parseSecret(secret []byte) ([]byte, error) { FILE: browser/chromium/chromium_linux.go method GetMasterKey (line 18) | func (c *Chromium) GetMasterKey() ([]byte, error) { FILE: browser/chromium/chromium_windows.go method GetMasterKey (line 20) | func (c *Chromium) GetMasterKey() ([]byte, error) { FILE: browser/consts.go constant chromeName (line 11) | chromeName = "Chrome" constant chromeBetaName (line 12) | chromeBetaName = "Chrome Beta" constant chromiumName (line 13) | chromiumName = "Chromium" constant edgeName (line 14) | edgeName = "Microsoft Edge" constant braveName (line 15) | braveName = "Brave" constant operaName (line 16) | operaName = "Opera" constant operaGXName (line 17) | operaGXName = "OperaGX" constant vivaldiName (line 18) | vivaldiName = "Vivaldi" constant coccocName (line 19) | coccocName = "CocCoc" constant yandexName (line 20) | yandexName = "Yandex" constant firefoxName (line 21) | firefoxName = "Firefox" constant speed360Name (line 22) | speed360Name = "360speed" constant qqBrowserName (line 23) | qqBrowserName = "QQ" constant dcBrowserName (line 24) | dcBrowserName = "DC" constant sogouName (line 25) | sogouName = "Sogou" constant arcName (line 26) | arcName = "Arc" FILE: browser/exploit/gcoredump/gcoredump.go function GetMacOSVersion (line 33) | func GetMacOSVersion() string { function FindProcessByName (line 41) | func FindProcessByName(name string, forceRoot bool) (int, error) { type addressRange (line 69) | type addressRange struct function DecryptKeychain (line 74) | func DecryptKeychain(storagename string) (string, error) { function findMallocSmallRegions (line 169) | func findMallocSmallRegions(pid int) ([]addressRange, error) { function getMallocSmallRegionData (line 204) | func getMallocSmallRegionData(f *macho.File, region addressRange) ([]byt... function byteSliceToString (line 220) | func byteSliceToString(s []byte) string { FILE: browser/firefox/firefox.go type Firefox (line 24) | type Firefox struct method copyItemToLocal (line 53) | func (f *Firefox) copyItemToLocal() error { method GetMasterKey (line 88) | func (f *Firefox) GetMasterKey() ([]byte, error) { method Name (line 286) | func (f *Firefox) Name() string { method BrowsingData (line 290) | func (f *Firefox) BrowsingData(isFullExport bool) (*browserdata.Browse... function New (line 36) | func New(profilePath string, items []types.DataType) ([]*Firefox, error) { function firefoxWalkFunc (line 63) | func firefoxWalkFunc(items []types.DataType, multiItemPaths map[string]m... function queryMetaData (line 141) | func queryMetaData(db *sql.DB) ([]byte, []byte, error) { type nssPrivateCandidate (line 150) | type nssPrivateCandidate struct function queryNssPrivateCandidates (line 155) | func queryNssPrivateCandidates(db *sql.DB) ([]nssPrivateCandidate, error) { function queryNssPrivate (line 180) | func queryNssPrivate(db *sql.DB) ([]byte, []byte, error) { type loginCipherPair (line 189) | type loginCipherPair struct function getFirefoxLoginCipherPairs (line 194) | func getFirefoxLoginCipherPairs() ([]loginCipherPair, error) { function canDecryptAnyLoginCipherPair (line 223) | func canDecryptAnyLoginCipherPair(masterKey []byte, pairs []loginCipherP... function processMasterKey (line 246) | func processMasterKey(metaItem1, metaItem2, nssA11, nssA102 []byte) ([]b... FILE: browser/firefox/firefox_test.go function TestQueryMetaData (line 10) | func TestQueryMetaData(t *testing.T) { function TestQueryNssPrivate (line 25) | func TestQueryNssPrivate(t *testing.T) { FILE: browserdata/bookmark/bookmark.go function init (line 19) | func init() { type ChromiumBookmark (line 28) | type ChromiumBookmark method Extract (line 38) | func (c *ChromiumBookmark) Extract(_ []byte) error { method Name (line 90) | func (c *ChromiumBookmark) Name() string { method Len (line 94) | func (c *ChromiumBookmark) Len() int { type bookmark (line 30) | type bookmark struct constant bookmarkID (line 60) | bookmarkID = "id" constant bookmarkAdded (line 61) | bookmarkAdded = "date_added" constant bookmarkURL (line 62) | bookmarkURL = "url" constant bookmarkName (line 63) | bookmarkName = "name" constant bookmarkType (line 64) | bookmarkType = "type" constant bookmarkChildren (line 65) | bookmarkChildren = "children" function getBookmarkChildren (line 68) | func getBookmarkChildren(value gjson.Result, w *ChromiumBookmark) (child... type FirefoxBookmark (line 98) | type FirefoxBookmark method Extract (line 105) | func (f *FirefoxBookmark) Extract(_ []byte) error { method Name (line 144) | func (f *FirefoxBookmark) Name() string { method Len (line 148) | func (f *FirefoxBookmark) Len() int { constant queryFirefoxBookMark (line 101) | queryFirefoxBookMark = `SELECT id, url, type, dateAdded, title FROM (SEL... constant closeJournalMode (line 102) | closeJournalMode = `PRAGMA journal_mode=off` function linkType (line 152) | func linkType(a int64) string { FILE: browserdata/browserdata.go type BrowserData (line 10) | type BrowserData struct method Recovery (line 22) | func (d *BrowserData) Recovery(masterKey []byte) error { method Output (line 32) | func (d *BrowserData) Output(dir, browserName, flag string) { method addExtractors (line 59) | func (d *BrowserData) addExtractors(items []types.DataType) { function New (line 14) | func New(items []types.DataType) *BrowserData { FILE: browserdata/cookie/cookie.go function init (line 19) | func init() { type ChromiumCookie (line 28) | type ChromiumCookie method Extract (line 48) | func (c *ChromiumCookie) Extract(masterKey []byte) error { method Name (line 105) | func (c *ChromiumCookie) Name() string { method Len (line 109) | func (c *ChromiumCookie) Len() int { type cookie (line 30) | type cookie struct constant queryChromiumCookie (line 45) | queryChromiumCookie = `SELECT name, encrypted_value, host_key, path, cre... type FirefoxCookie (line 113) | type FirefoxCookie method Extract (line 119) | func (f *FirefoxCookie) Extract(_ []byte) error { method Name (line 159) | func (f *FirefoxCookie) Name() string { method Len (line 163) | func (f *FirefoxCookie) Len() int { constant queryFirefoxCookie (line 116) | queryFirefoxCookie = `SELECT name, value, host, path, creationTime, expi... FILE: browserdata/creditcard/creditcard.go function init (line 16) | func init() { type ChromiumCreditCard (line 25) | type ChromiumCreditCard method Extract (line 41) | func (c *ChromiumCreditCard) Extract(masterKey []byte) error { method Name (line 87) | func (c *ChromiumCreditCard) Name() string { method Len (line 91) | func (c *ChromiumCreditCard) Len() int { type card (line 27) | type card struct constant queryChromiumCredit (line 38) | queryChromiumCredit = `SELECT guid, name_on_card, expiration_month, expi... type YandexCreditCard (line 95) | type YandexCreditCard method Extract (line 97) | func (c *YandexCreditCard) Extract(masterKey []byte) error { method Name (line 141) | func (c *YandexCreditCard) Name() string { method Len (line 145) | func (c *YandexCreditCard) Len() int { FILE: browserdata/download/download.go function init (line 19) | func init() { type ChromiumDownload (line 28) | type ChromiumDownload method Extract (line 43) | func (c *ChromiumDownload) Extract(_ []byte) error { method Name (line 79) | func (c *ChromiumDownload) Name() string { method Len (line 83) | func (c *ChromiumDownload) Len() int { type download (line 30) | type download struct constant queryChromiumDownload (line 40) | queryChromiumDownload = `SELECT target_path, tab_url, total_bytes, start... type FirefoxDownload (line 87) | type FirefoxDownload method Extract (line 94) | func (f *FirefoxDownload) Extract(_ []byte) error { method Name (line 140) | func (f *FirefoxDownload) Name() string { method Len (line 144) | func (f *FirefoxDownload) Len() int { constant queryFirefoxDownload (line 90) | queryFirefoxDownload = `SELECT place_id, GROUP_CONCAT(content), url, dat... constant closeJournalMode (line 91) | closeJournalMode = `PRAGMA journal_mode=off` FILE: browserdata/extension/extension.go function init (line 16) | func init() { type ChromiumExtension (line 25) | type ChromiumExtension method Extract (line 37) | func (c *ChromiumExtension) Extract(_ []byte) error { method Name (line 114) | func (c *ChromiumExtension) Name() string { method Len (line 118) | func (c *ChromiumExtension) Len() int { type extension (line 27) | type extension struct function parseChromiumExtensions (line 52) | func parseChromiumExtensions(content string) ([]*extension, error) { function getChromiumExtURL (line 105) | func getChromiumExtURL(id, updateURL string) string { type FirefoxExtension (line 122) | type FirefoxExtension method Extract (line 126) | func (f *FirefoxExtension) Extract(_ []byte) error { method Name (line 181) | func (f *FirefoxExtension) Name() string { method Len (line 185) | func (f *FirefoxExtension) Len() int { function findFirefoxLocale (line 164) | func findFirefoxLocale(locales []gjson.Result, targetLang language.Tag) ... FILE: browserdata/history/history.go function init (line 18) | func init() { type ChromiumHistory (line 27) | type ChromiumHistory method Extract (line 40) | func (c *ChromiumHistory) Extract(_ []byte) error { method Name (line 76) | func (c *ChromiumHistory) Name() string { method Len (line 80) | func (c *ChromiumHistory) Len() int { type history (line 29) | type history struct constant queryChromiumHistory (line 37) | queryChromiumHistory = `SELECT url, title, visit_count, last_visit_time ... type FirefoxHistory (line 84) | type FirefoxHistory method Extract (line 91) | func (f *FirefoxHistory) Extract(_ []byte) error { method Name (line 131) | func (f *FirefoxHistory) Name() string { method Len (line 135) | func (f *FirefoxHistory) Len() int { constant queryFirefoxHistory (line 87) | queryFirefoxHistory = `SELECT id, url, COALESCE(last_visit_date, 0), COA... constant closeJournalMode (line 88) | closeJournalMode = `PRAGMA journal_mode=off` FILE: browserdata/localstorage/localstorage.go function init (line 21) | func init() { type ChromiumLocalStorage (line 30) | type ChromiumLocalStorage method Extract (line 41) | func (c *ChromiumLocalStorage) Extract(_ []byte) error { method Name (line 71) | func (c *ChromiumLocalStorage) Name() string { method Len (line 75) | func (c *ChromiumLocalStorage) Len() int { type storage (line 32) | type storage struct method fillKey (line 79) | func (s *storage) fillKey(b []byte) { method fillMetaHeader (line 90) | func (s *storage) fillMetaHeader(b []byte) { method fillHeader (line 94) | func (s *storage) fillHeader(url, key []byte) { method fillValue (line 106) | func (s *storage) fillValue(b []byte) { method fillFirefox (line 147) | func (s *storage) fillFirefox(originKey, key, value string) { constant maxLocalStorageValueLength (line 39) | maxLocalStorageValueLength = 1024 * 2 function convertUTF16toUTF8 (line 99) | func convertUTF16toUTF8(source []byte, endian unicode.Endianness) ([]byt... type FirefoxLocalStorage (line 111) | type FirefoxLocalStorage method Extract (line 118) | func (f *FirefoxLocalStorage) Extract(_ []byte) error { method Name (line 161) | func (f *FirefoxLocalStorage) Name() string { method Len (line 165) | func (f *FirefoxLocalStorage) Len() int { constant queryLocalStorage (line 114) | queryLocalStorage = `SELECT originKey, key, value FROM webappsstore2` constant closeJournalMode (line 115) | closeJournalMode = `PRAGMA journal_mode=off` FILE: browserdata/localstorage/localstorage_test.go function TestLocalStorageKeyToUTF8 (line 22) | func TestLocalStorageKeyToUTF8(t *testing.T) { FILE: browserdata/outputter.go type outPutter (line 18) | type outPutter struct method Write (line 33) | func (o *outPutter) Write(data extractor.Extractor, writer io.Writer) ... method CreateFile (line 50) | func (o *outPutter) CreateFile(dir, filename string) (*os.File, error) { method Ext (line 74) | func (o *outPutter) Ext() string { function newOutPutter (line 23) | func newOutPutter(flag string) *outPutter { FILE: browserdata/outputter_test.go function TestNewOutPutter (line 8) | func TestNewOutPutter(t *testing.T) { FILE: browserdata/password/password.go function init (line 20) | func init() { type ChromiumPassword (line 32) | type ChromiumPassword method Extract (line 47) | func (c *ChromiumPassword) Extract(masterKey []byte) error { method Name (line 101) | func (c *ChromiumPassword) Name() string { method Len (line 105) | func (c *ChromiumPassword) Len() int { type loginData (line 34) | type loginData struct constant queryChromiumLogin (line 44) | queryChromiumLogin = `SELECT origin_url, username_value, password_value,... type YandexPassword (line 109) | type YandexPassword method Extract (line 115) | func (c *YandexPassword) Extract(masterKey []byte) error { method Name (line 169) | func (c *YandexPassword) Name() string { method Len (line 173) | func (c *YandexPassword) Len() int { constant queryYandexLogin (line 112) | queryYandexLogin = `SELECT action_url, username_value, password_value, d... type FirefoxPassword (line 177) | type FirefoxPassword method Extract (line 179) | func (f *FirefoxPassword) Extract(globalSalt []byte) error { method Name (line 253) | func (f *FirefoxPassword) Name() string { method Len (line 257) | func (f *FirefoxPassword) Len() int { function getFirefoxLoginData (line 216) | func getFirefoxLoginData() ([]loginData, error) { FILE: browserdata/sessionstorage/sessionstorage.go function init (line 21) | func init() { type ChromiumSessionStorage (line 30) | type ChromiumSessionStorage method Extract (line 41) | func (c *ChromiumSessionStorage) Extract(_ []byte) error { method Name (line 71) | func (c *ChromiumSessionStorage) Name() string { method Len (line 75) | func (c *ChromiumSessionStorage) Len() int { type session (line 32) | type session struct method fillKey (line 79) | func (s *session) fillKey(b []byte) { method fillMetaHeader (line 98) | func (s *session) fillMetaHeader(b []byte) { method fillHeader (line 102) | func (s *session) fillHeader(url, key []byte) { method fillValue (line 114) | func (s *session) fillValue(b []byte) { method fillFirefox (line 155) | func (s *session) fillFirefox(originKey, key, value string) { constant maxLocalStorageValueLength (line 39) | maxLocalStorageValueLength = 1024 * 2 function convertUTF16toUTF8 (line 107) | func convertUTF16toUTF8(source []byte, endian unicode.Endianness) ([]byt... type FirefoxSessionStorage (line 119) | type FirefoxSessionStorage method Extract (line 126) | func (f *FirefoxSessionStorage) Extract(_ []byte) error { method Name (line 169) | func (f *FirefoxSessionStorage) Name() string { method Len (line 173) | func (f *FirefoxSessionStorage) Len() int { constant querySessionStorage (line 122) | querySessionStorage = `SELECT originKey, key, value FROM webappsstore2` constant closeJournalMode (line 123) | closeJournalMode = `PRAGMA journal_mode=off` FILE: cmd/hack-browser-data/main.go function main (line 23) | func main() { function Execute (line 27) | func Execute() { FILE: crypto/asn1pbe.go type ASN1PBE (line 11) | type ASN1PBE interface function NewASN1PBE (line 17) | func NewASN1PBE(b []byte) (pbe ASN1PBE, err error) { type nssPBE (line 45) | type nssPBE struct method Decrypt (line 57) | func (n nssPBE) Decrypt(globalSalt []byte) ([]byte, error) { method Encrypt (line 63) | func (n nssPBE) Encrypt(globalSalt, plaintext []byte) ([]byte, error) { method deriveKeyAndIV (line 71) | func (n nssPBE) deriveKeyAndIV(globalSalt []byte) ([]byte, []byte) { type metaPBE (line 110) | type metaPBE struct method Decrypt (line 140) | func (m metaPBE) Decrypt(globalSalt []byte) ([]byte, error) { method Encrypt (line 146) | func (m metaPBE) Encrypt(globalSalt, plaintext []byte) ([]byte, error) { method deriveKeyAndIV (line 152) | func (m metaPBE) deriveKeyAndIV(globalSalt []byte) ([]byte, []byte) { type algoAttr (line 115) | type algoAttr struct type ivAttr (line 126) | type ivAttr struct type slatAttr (line 131) | type slatAttr struct type loginPBE (line 171) | type loginPBE struct method Decrypt (line 180) | func (l loginPBE) Decrypt(globalSalt []byte) ([]byte, error) { method Encrypt (line 197) | func (l loginPBE) Encrypt(globalSalt, plaintext []byte) ([]byte, error) { method deriveKeyAndIV (line 215) | func (l loginPBE) deriveKeyAndIV(globalSalt []byte) ([]byte, []byte) { FILE: crypto/asn1pbe_test.go function TestNewASN1PBE (line 74) | func TestNewASN1PBE(t *testing.T) { function TestNssPBE_Encrypt (line 89) | func TestNssPBE_Encrypt(t *testing.T) { function TestNssPBE_Decrypt (line 117) | func TestNssPBE_Decrypt(t *testing.T) { function TestNewASN1PBE_MetaPBE (line 145) | func TestNewASN1PBE_MetaPBE(t *testing.T) { function TestMetaPBE_Encrypt (line 159) | func TestMetaPBE_Encrypt(t *testing.T) { function TestMetaPBE_Decrypt (line 202) | func TestMetaPBE_Decrypt(t *testing.T) { function TestNewASN1PBE_LoginPBE (line 245) | func TestNewASN1PBE_LoginPBE(t *testing.T) { function TestLoginPBE_Encrypt (line 259) | func TestLoginPBE_Encrypt(t *testing.T) { function TestLoginPBE_Decrypt (line 279) | func TestLoginPBE_Decrypt(t *testing.T) { FILE: crypto/crypto.go function AES128CBCDecrypt (line 19) | func AES128CBCDecrypt(key, iv, ciphertext []byte) ([]byte, error) { function AES128CBCEncrypt (line 45) | func AES128CBCEncrypt(key, iv, plaintext []byte) ([]byte, error) { function DES3Decrypt (line 63) | func DES3Decrypt(key, iv, ciphertext []byte) ([]byte, error) { function DES3Encrypt (line 82) | func DES3Encrypt(key, iv, plaintext []byte) ([]byte, error) { function AESGCMDecrypt (line 97) | func AESGCMDecrypt(key, nounce, ciphertext []byte) ([]byte, error) { function AESGCMEncrypt (line 114) | func AESGCMEncrypt(key, nonce, plaintext []byte) ([]byte, error) { function paddingZero (line 129) | func paddingZero(src []byte, length int) []byte { function pkcs5UnPadding (line 137) | func pkcs5UnPadding(src []byte) ([]byte, error) { function pkcs5Padding (line 157) | func pkcs5Padding(src []byte, blocksize int) []byte { FILE: crypto/crypto_darwin.go function DecryptWithChromium (line 9) | func DecryptWithChromium(key, password []byte) ([]byte, error) { function DecryptWithDPAPI (line 17) | func DecryptWithDPAPI(_ []byte) ([]byte, error) { FILE: crypto/crypto_linux.go function DecryptWithChromium (line 5) | func DecryptWithChromium(key, encryptPass []byte) ([]byte, error) { function DecryptWithDPAPI (line 13) | func DecryptWithDPAPI(_ []byte) ([]byte, error) { FILE: crypto/crypto_test.go constant baseKey (line 13) | baseKey = "moond4rk" function TestAES128CBCEncrypt (line 29) | func TestAES128CBCEncrypt(t *testing.T) { function TestAES128CBCDecrypt (line 36) | func TestAES128CBCDecrypt(t *testing.T) { function TestDES3Encrypt (line 44) | func TestDES3Encrypt(t *testing.T) { function TestDES3Decrypt (line 51) | func TestDES3Decrypt(t *testing.T) { function TestAESGCMEncrypt (line 59) | func TestAESGCMEncrypt(t *testing.T) { function TestAESGCMDecrypt (line 66) | func TestAESGCMDecrypt(t *testing.T) { FILE: crypto/crypto_windows.go constant minEncryptedDataSize (line 13) | minEncryptedDataSize = 15 constant nonceSize (line 14) | nonceSize = 12 function DecryptWithChromium (line 17) | func DecryptWithChromium(key, ciphertext []byte) ([]byte, error) { function DecryptWithYandex (line 29) | func DecryptWithYandex(key, ciphertext []byte) ([]byte, error) { type dataBlob (line 43) | type dataBlob struct method bytes (line 58) | func (b *dataBlob) bytes() []byte { function newBlob (line 48) | func newBlob(d []byte) *dataBlob { function DecryptWithDPAPI (line 68) | func DecryptWithDPAPI(ciphertext []byte) ([]byte, error) { FILE: crypto/pbkdf2.go function PBKDF2Key (line 25) | func PBKDF2Key(password, salt []byte, iter, keyLen int, h func() hash.Ha... FILE: extractor/extractor.go type Extractor (line 4) | type Extractor interface FILE: extractor/registration.go function RegisterExtractor (line 10) | func RegisterExtractor(dataType types.DataType, factoryFunc func() Extra... function CreateExtractor (line 15) | func CreateExtractor(dataType types.DataType) Extractor { FILE: log/level/level.go type Level (line 4) | type Level method String (line 24) | func (l Level) String() string { constant DebugLevel (line 9) | DebugLevel Level = iota + 1 constant WarnLevel (line 13) | WarnLevel constant ErrorLevel (line 17) | ErrorLevel constant FatalLevel (line 21) | FatalLevel FILE: log/log.go function SetVerbose (line 12) | func SetVerbose() { function Debug (line 16) | func Debug(args ...any) { function Debugf (line 20) | func Debugf(format string, args ...any) { function Warn (line 24) | func Warn(args ...any) { function Warnf (line 28) | func Warnf(format string, args ...any) { function Error (line 32) | func Error(args ...any) { function Errorf (line 36) | func Errorf(format string, args ...any) { function Fatal (line 40) | func Fatal(args ...any) { function Fatalf (line 44) | func Fatalf(format string, args ...any) { FILE: log/logger.go function NewLogger (line 17) | func NewLogger(base Base) *Logger { type Logger (line 25) | type Logger struct method canLogAt (line 34) | func (l *Logger) canLogAt(v level.Level) bool { method SetLevel (line 40) | func (l *Logger) SetLevel(v level.Level) { method Debug (line 47) | func (l *Logger) Debug(args ...any) { method Warn (line 54) | func (l *Logger) Warn(args ...any) { method Error (line 61) | func (l *Logger) Error(args ...any) { method Fatal (line 68) | func (l *Logger) Fatal(args ...any) { method Debugf (line 75) | func (l *Logger) Debugf(format string, args ...any) { method Warnf (line 82) | func (l *Logger) Warnf(format string, args ...any) { method Errorf (line 89) | func (l *Logger) Errorf(format string, args ...any) { method Fatalf (line 96) | func (l *Logger) Fatalf(format string, args ...any) { type Base (line 103) | type Base interface type baseLogger (line 112) | type baseLogger struct method calculateCallDepth (line 127) | func (l *baseLogger) calculateCallDepth() int { method prefixPrint (line 131) | func (l *baseLogger) prefixPrint(prefix string, args ...any) { method getCallDepth (line 138) | func (l *baseLogger) getCallDepth() int { method isLoggerPackage (line 155) | func (l *baseLogger) isLoggerPackage(funcName string) bool { method Debug (line 161) | func (l *baseLogger) Debug(args ...any) { method Warn (line 166) | func (l *baseLogger) Warn(args ...any) { method Error (line 171) | func (l *baseLogger) Error(args ...any) { method Fatal (line 179) | func (l *baseLogger) Fatal(args ...any) { function newBase (line 117) | func newBase(out io.Writer) *baseLogger { FILE: log/logger_test.go constant pattern (line 14) | pattern = `^\[hack\-browser\-data] \w+\.go:\d+:` type baseTestCase (line 17) | type baseTestCase struct function TestLoggerDebug (line 40) | func TestLoggerDebug(t *testing.T) { function TestLoggerWarn (line 57) | func TestLoggerWarn(t *testing.T) { function TestLoggerError (line 73) | func TestLoggerError(t *testing.T) { function TestLoggerFatal (line 89) | func TestLoggerFatal(t *testing.T) { type formatTestCase (line 116) | type formatTestCase struct function TestLoggerDebugf (line 144) | func TestLoggerDebugf(t *testing.T) { function TestLoggerWarnf (line 161) | func TestLoggerWarnf(t *testing.T) { function TestLoggerErrorf (line 177) | func TestLoggerErrorf(t *testing.T) { function TestLoggerFatalf (line 193) | func TestLoggerFatalf(t *testing.T) { function TestLoggerWithLowerLevels (line 219) | func TestLoggerWithLowerLevels(t *testing.T) { FILE: types/types.go type DataType (line 9) | type DataType method String (line 63) | func (i DataType) String() string { method Filename (line 116) | func (i DataType) Filename() string { method TempFilename (line 125) | func (i DataType) TempFilename() string { method IsSensitive (line 133) | func (i DataType) IsSensitive() bool { constant ChromiumKey (line 12) | ChromiumKey DataType = iota constant ChromiumPassword (line 13) | ChromiumPassword constant ChromiumCookie (line 14) | ChromiumCookie constant ChromiumBookmark (line 15) | ChromiumBookmark constant ChromiumHistory (line 16) | ChromiumHistory constant ChromiumDownload (line 17) | ChromiumDownload constant ChromiumCreditCard (line 18) | ChromiumCreditCard constant ChromiumLocalStorage (line 19) | ChromiumLocalStorage constant ChromiumSessionStorage (line 20) | ChromiumSessionStorage constant ChromiumExtension (line 21) | ChromiumExtension constant YandexPassword (line 23) | YandexPassword constant YandexCreditCard (line 24) | YandexCreditCard constant FirefoxKey4 (line 26) | FirefoxKey4 constant FirefoxPassword (line 27) | FirefoxPassword constant FirefoxCookie (line 28) | FirefoxCookie constant FirefoxBookmark (line 29) | FirefoxBookmark constant FirefoxHistory (line 30) | FirefoxHistory constant FirefoxDownload (line 31) | FirefoxDownload constant FirefoxCreditCard (line 32) | FirefoxCreditCard constant FirefoxLocalStorage (line 33) | FirefoxLocalStorage constant FirefoxSessionStorage (line 34) | FirefoxSessionStorage constant FirefoxExtension (line 35) | FirefoxExtension function FilterSensitiveItems (line 145) | func FilterSensitiveItems(items []DataType) []DataType { constant fileChromiumKey (line 199) | fileChromiumKey = "Local State" constant fileChromiumCredit (line 200) | fileChromiumCredit = "Web Data" constant fileChromiumPassword (line 201) | fileChromiumPassword = "Login Data" constant fileChromiumHistory (line 202) | fileChromiumHistory = "History" constant fileChromiumDownload (line 203) | fileChromiumDownload = "History" constant fileChromiumCookie (line 204) | fileChromiumCookie = "Cookies" constant fileChromiumBookmark (line 205) | fileChromiumBookmark = "Bookmarks" constant fileChromiumLocalStorage (line 206) | fileChromiumLocalStorage = "Local Storage/leveldb" constant fileChromiumSessionStorage (line 207) | fileChromiumSessionStorage = "Session Storage" constant fileChromiumExtension (line 208) | fileChromiumExtension = "Secure Preferences" constant fileYandexPassword (line 210) | fileYandexPassword = "Ya Passman Data" constant fileYandexCredit (line 211) | fileYandexCredit = "Ya Credit Cards" constant fileFirefoxKey4 (line 213) | fileFirefoxKey4 = "key4.db" constant fileFirefoxCookie (line 214) | fileFirefoxCookie = "cookies.sqlite" constant fileFirefoxPassword (line 215) | fileFirefoxPassword = "logins.json" constant fileFirefoxData (line 216) | fileFirefoxData = "places.sqlite" constant fileFirefoxLocalStorage (line 217) | fileFirefoxLocalStorage = "webappsstore.sqlite" constant fileFirefoxExtension (line 218) | fileFirefoxExtension = "extensions.json" constant UnsupportedItem (line 220) | UnsupportedItem = "unsupported item" FILE: types/types_test.go function TestDataType_FileName (line 12) | func TestDataType_FileName(t *testing.T) { function TestDataType_TempFilename (line 24) | func TestDataType_TempFilename(t *testing.T) { function TestDataType_IsSensitive (line 48) | func TestDataType_IsSensitive(t *testing.T) { function TestFilterSensitiveItems (line 63) | func TestFilterSensitiveItems(t *testing.T) { method filename (line 82) | func (i DataType) filename() string { FILE: utils/chainbreaker/chainbreaker.go constant atomSize (line 21) | atomSize = 4 constant headerSize (line 22) | headerSize = 20 constant schemaSize (line 23) | schemaSize = 8 constant tableHeaderSize (line 24) | tableHeaderSize = 28 constant keyBlobRecordHeaderSize (line 25) | keyBlobRecordHeaderSize = 132 constant keyBlobStructSize (line 26) | keyBlobStructSize = 24 constant genericPasswordHeaderSize (line 27) | genericPasswordHeaderSize = 22 * 4 constant blockSize (line 28) | blockSize = 8 constant keyLength (line 29) | keyLength = 24 constant metadataOffsetAdjustment (line 30) | metadataOffsetAdjustment = 0x38 constant keyBlobMagic (line 31) | keyBlobMagic uint32 = 0xFADE0711 constant keychainSignature (line 32) | keychainSignature = "kych" constant secureStorageGroup (line 33) | secureStorageGroup = "ssgp" constant keychainLockedSignature (line 34) | keychainLockedSignature = "[Invalid Password / Keychain Locked]" constant cssmDBRecordTypeAppDefinedStart (line 38) | cssmDBRecordTypeAppDefinedStart uint32 = 0x80000000 constant cssmGenericPassword (line 39) | cssmGenericPassword = cssmDBRecordTypeAppDefinedStart... constant cssmMetadata (line 40) | cssmMetadata = cssmDBRecordTypeAppDefinedStart... constant cssmDBRecordTypeOpenGroupStart (line 41) | cssmDBRecordTypeOpenGroupStart uint32 = 0x0000000A constant cssmSymmetricKey (line 42) | cssmSymmetricKey = cssmDBRecordTypeOpenGroupStart + 7 constant dbBlobSize (line 45) | dbBlobSize = 92 type Keychain (line 49) | type Keychain struct method buildTableIndex (line 264) | func (kc *Keychain) buildTableIndex() error { method getTableOffset (line 283) | func (kc *Keychain) getTableOffset(tableID uint32) (uint32, error) { method getTableFromType (line 291) | func (kc *Keychain) getTableFromType(tableID uint32) (tableHeader, []u... method getTable (line 299) | func (kc *Keychain) getTable(offset uint32) (tableHeader, []uint32, er... method findWrappingKey (line 329) | func (kc *Keychain) findWrappingKey(master []byte) ([]byte, error) { method generateKeyList (line 345) | func (kc *Keychain) generateKeyList() error { method getKeyblobRecord (line 367) | func (kc *Keychain) getKeyblobRecord(recordOffset uint32) ([]byte, []b... method getBaseAddress (line 428) | func (kc *Keychain) getBaseAddress(tableID uint32, offset uint32) (int... method DumpGenericPasswords (line 505) | func (kc *Keychain) DumpGenericPasswords() ([]genericPassword, error) { method parseGenericPasswordRecord (line 521) | func (kc *Keychain) parseGenericPasswordRecord(recordOffset uint32) (g... method extractSSGP (line 584) | func (kc *Keychain) extractSSGP(header genericPasswordHeader, buffer [... method readKeychainTime (line 629) | func (kc *Keychain) readKeychainTime(base int, ptr uint32) string { method readFourChar (line 648) | func (kc *Keychain) readFourChar(base int, ptr uint32) string { method readLV (line 659) | func (kc *Keychain) readLV(base int, ptr uint32) string { type applDBHeader (line 60) | type applDBHeader struct type applDBSchema (line 68) | type applDBSchema struct type tableHeader (line 73) | type tableHeader struct type dbBlob (line 83) | type dbBlob struct type keyBlobRecordHeader (line 90) | type keyBlobRecordHeader struct type keyBlob (line 94) | type keyBlob struct type genericPasswordHeader (line 101) | type genericPasswordHeader struct type ssgpBlock (line 116) | type ssgpBlock struct type genericPassword (line 123) | type genericPassword struct function New (line 137) | func New(path, unlockHex string) (*Keychain, error) { function parseHeader (line 203) | func parseHeader(buf []byte) (applDBHeader, error) { function parseSchema (line 216) | func parseSchema(buf []byte, offset uint32) (applDBSchema, []uint32, err... function parseDBBlob (line 237) | func parseDBBlob(buf []byte) (dbBlob, error) { function decodeUnlockKey (line 251) | func decodeUnlockKey(hexKey string) ([]byte, error) { function parseKeyBlob (line 416) | func parseKeyBlob(buf []byte) (keyBlob, error) { function keyblobDecryption (line 447) | func keyblobDecryption(encryptedblob, iv, dbkey []byte) ([]byte, error) { function kcdecrypt (line 476) | func kcdecrypt(key, iv, data []byte) ([]byte, error) { function parseGenericPasswordHeader (line 558) | func parseGenericPasswordHeader(buf []byte) (genericPasswordHeader, erro... function parseSSGP (line 602) | func parseSSGP(buf []byte) (*ssgpBlock, error) { function decryptSSGP (line 615) | func decryptSSGP(block *ssgpBlock, dbkey []byte) (string, bool) { function maskedPointer (line 679) | func maskedPointer(value uint32) int { function alignToWord (line 683) | func alignToWord(value int) int { function readASCII (line 690) | func readASCII(buf []byte, start, length int) string { FILE: utils/chainbreaker/chainbreaker_test.go function TestUnlockKeychain (line 7) | func TestUnlockKeychain(t *testing.T) { FILE: utils/fileutil/filetutil.go function IsFileExists (line 15) | func IsFileExists(filename string) bool { function IsDirExists (line 27) | func IsDirExists(folder string) bool { function ReadFile (line 39) | func ReadFile(filename string) (string, error) { function CopyDir (line 46) | func CopyDir(src, dst, skip string) error { function CopyFile (line 54) | func CopyFile(src, dst string) error { function Filename (line 67) | func Filename(browser, dataType, ext string) string { function BrowserName (line 72) | func BrowserName(browser, user string) string { function ParentDir (line 78) | func ParentDir(p string) string { function BaseDir (line 83) | func BaseDir(p string) string { function ParentBaseDir (line 88) | func ParentBaseDir(p string) string { function CompressDir (line 93) | func CompressDir(dir string) error { function addFileToZip (line 123) | func addFileToZip(zw *zip.Writer, filename string) error { function writeFile (line 145) | func writeFile(buffer *bytes.Buffer, filename string) error { FILE: utils/fileutil/fileutil_test.go function setupTestDir (line 12) | func setupTestDir(t *testing.T, files []string) string { function TestCompressDir (line 26) | func TestCompressDir(t *testing.T) { FILE: utils/typeutil/typeutil.go function Keys (line 8) | func Keys[K comparable, V any](m map[K]V) []K { type Signed (line 19) | type Signed interface function IntToBool (line 23) | func IntToBool[T Signed](a T) bool { function Reverse (line 31) | func Reverse[T any](s []T) []T { function TimeStamp (line 39) | func TimeStamp(stamp int64) time.Time { function TimeEpoch (line 47) | func TimeEpoch(epoch int64) time.Time { FILE: utils/typeutil/typeutil_test.go function TestReverse (line 7) | func TestReverse(t *testing.T) {