此 Chrome 擴充功能使用什麼嵌入式資料庫格式?

此 Chrome 擴充功能使用什麼嵌入式資料庫格式?

Chrome 擴充功能FB純度將其資料寫入~/.config/chromium/Default/Local Extension Settings/ncdlagniojmheiklojdcpdaeepochckl/000003.log(儘管名稱相同,但不是日誌檔案)。

該檔案是一種資料庫,其中包含一個大的 JSON 字串。這是在 vim 中看到的檔案的開頭:

????C^@^A^A^@^@^@^@^@^@^@^A^@^@^@^A^Kfbpfirstrun)"Fri Apr 15 2016 16:59:41 
GMT+0900 (JST)"??[E7^@^A^B^@^@^@^@^@^@^@^A^@^@^@^A^Rfbplastupdatecheck^V"
1460707185929:14.7.0"??U/7^@^A^C^@^@^@^@^@^@^@^A^@^@^@^A^Ylastfriendcheck-
631501256^O"1460707180223"0?wB3^?^B^D^@^@^@^@^@^@^@^A^@^@^@^A^Xoldfriendstore-
631501256??^G"{\"27333\":\"

...此時大 JSON 字串開始。
文件的開頭與十六進位相同:

C4 C4 3F 81 43 00 01 01 00 00 00 00 00 00 00 01 00
00 00 01 0B 66 62 70 66 69 72 73 74 72 75 6E 29 22
46 72 69 20 41 70 72 20 31 35 20 32 30 31 36 20 31
36 3A 35 39 3A 34 31 20 47 4D 54 2B 30 39 30 30 20
28 4A 53 54 29 22 AE B6 5B 45 37 00 01 02 00 00 00
00 00 00 00 01 00 00 00 01 12 66 62 70 6C 61 73 74
75 70 64 61 74 65 63 68 65 63 6B 16 22 31 34 36 30
37 30 37 31 38 35 39 32 39 3A 31 34 2E 37 2E 30 22
A6 C0 55 2F 37 00 01 03 00 00 00 00 00 00 00 01 00
00 00 01 19 6C 61 73 74 66 72 69 65 6E 64 63 68 65
63 6B 2D 36 33 31 35 30 31 32 35 36 0F 22 31 34 36
30 37 30 37 31 38 30 32 32 33 22 30 AC 77 42 33 7F
02 04 00 00 00 00 00 00 00 01 00 00 00 01 18 6F 6C
64 66 72 69 65 6E 64 73 74 6F 72 65 2D 36 33 31 35
30 31 32 35 36 E3 C5 07 22 7B 5C 22 32 37 33 33 33
5C 22 3A 5C 22

問題: 那是什麼資料庫格式?

SQLitebrowser 拒絕開啟它。 Ubuntufile指令只是說data。我的目標是從該文件中提取第一個 JSON 字串。使用最新的 Chromium。

答案1

它是水平資料庫,一個鍵值儲存。

您可以使用 NodeJS 和升級存取數據:

var levelup = require("levelup");
var db = levelup("path/to/directory");
db.createReadStream().on("data", data => console.log(data.key, " => ", data.value));

(升級需要降級安裝用於存取磁碟資料庫。

答案2

文件位於LevelDB格式由 Google 開發,程式碼託管於GitHub

您可能可以使用leveldb-json實用程式透過指向.indexeddb.leveldb資料夾匯出數據,但是,您需要先實作相容的比較器(因為 Chrome 提供了自己的比較器實作),以便根據下列資訊檢查 Chrome 的索引資料庫 leveldb 實例如何存取 Google Chrome 的 IndexedDB/LevelDB 檔案?

相關內容