From 5376184c7ea8728037aa9fdfb3a7ffdce7d8fb2c Mon Sep 17 00:00:00 2001 From: Mingxing Liu Date: Fri, 28 Apr 2023 01:57:52 +0800 Subject: [PATCH] fix: wrong session storage key if contains map --- browingdata/sessionstorage/sessionstorage.go | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/browingdata/sessionstorage/sessionstorage.go b/browingdata/sessionstorage/sessionstorage.go index 6ceca51..64da0a8 100644 --- a/browingdata/sessionstorage/sessionstorage.go +++ b/browingdata/sessionstorage/sessionstorage.go @@ -67,7 +67,7 @@ func (c *ChromiumSessionStorage) Len() int { } func (s *session) fillKey(b []byte) { - keys := bytes.Split(b, []byte("\x00")) + keys := bytes.Split(b, []byte("-")) if len(keys) == 1 && bytes.HasPrefix(keys[0], []byte("META:")) { s.IsMeta = true s.fillMetaHeader(keys[0]) @@ -75,6 +75,16 @@ func (s *session) fillKey(b []byte) { if len(keys) == 2 && bytes.HasPrefix(keys[0], []byte("_")) { s.fillHeader(keys[0], keys[1]) } + if len(keys) == 3 { + if string(keys[0]) == "map"{ + s.Key = string(keys[2]) + } else if string(keys[0]) == "namespace"{ + s.URL = string(keys[2]) + s.Key = string(keys[1]) + } + + + } } func (s *session) fillMetaHeader(b []byte) {