mirror of
https://github.com/moonD4rk/HackBrowserData.git
synced 2026-07-04 21:37:47 +02:00
docs: cross-host decryption guide and comment cleanup (#614)
* docs(readme): document cross-host decryption workflow * docs: drop RFC citations and what-comments
This commit is contained in:
@@ -72,7 +72,7 @@ func TestDiscoverSafariProfiles_OrphanUUIDWithoutDBEntry(t *testing.T) {
|
||||
// Profile directory with a History.db exists on disk but is absent from
|
||||
// SafariTabs.db. When the DB is readable and doesn't mention it, we trust
|
||||
// the DB — the orphan stays hidden because production filters profiles
|
||||
// with no resolvable data in NewBrowsers anyway. Here we assert discovery
|
||||
// with no resolvable data in NewBrowser anyway. Here we assert discovery
|
||||
// returns only what the DB declares.
|
||||
const dbUUID = "AAAAAAAA-BBBB-CCCC-DDDD-EEEEEEEEEEEE"
|
||||
const orphanUUID = "11111111-2222-3333-4444-555555555555"
|
||||
@@ -182,7 +182,7 @@ func TestDiscoverSafariProfiles_DefaultProfileSentinelIgnored(t *testing.T) {
|
||||
func TestDiscoverSafariProfiles_EmptyProfileDirectoryFiltersOutInNewBrowsers(t *testing.T) {
|
||||
// Matches the real 4E2D8DD0 orphan on the author's Mac: a profile dir
|
||||
// listed in neither SafariTabs.db nor containing any extractable data.
|
||||
// Discovery without the DB surfaces it; NewBrowsers then drops it when
|
||||
// Discovery without the DB surfaces it; NewBrowser then drops it when
|
||||
// resolveSourcePaths yields zero matches.
|
||||
const uuid = "4E2D8DD0-A7D2-4684-939A-898B7675C700"
|
||||
library := t.TempDir()
|
||||
|
||||
@@ -107,10 +107,9 @@ func resolveSourcePaths(sources map[types.Category][]sourcePath) map[types.Categ
|
||||
// Offset from the Core Data epoch (2001-01-01 UTC) to the Unix epoch.
|
||||
const coreDataEpochOffset = 978307200
|
||||
|
||||
// maxCoreDataSeconds is the largest CFAbsoluteTime that still lands inside
|
||||
// time.Time.MarshalJSON's [1, 9999] year window. Also bounds the float →
|
||||
// int64 conversion below; Go's spec makes out-of-range conversions return
|
||||
// an implementation-dependent int64, which could silently corrupt results.
|
||||
// maxCoreDataSeconds guards against CFAbsoluteTime values that would exceed
|
||||
// time.Time.MarshalJSON's year-9999 ceiling, and bounds the float→int64
|
||||
// conversion below (Go spec: out-of-range result is implementation-dependent).
|
||||
const maxCoreDataSeconds = 252423993600
|
||||
|
||||
// coredataTimestamp converts Core Data seconds (CFAbsoluteTime) to UTC.
|
||||
|
||||
@@ -76,7 +76,7 @@ func TestNewBrowsers(t *testing.T) {
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// NewBrowsers — multi-profile (macOS 14+ named profiles)
|
||||
// NewBrowser — multi-profile (macOS 14+ named profiles)
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
func TestNewBrowsers_MultiProfile(t *testing.T) {
|
||||
|
||||
Reference in New Issue
Block a user