此 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 的 Indexed DB leveldb 实例如何访问 Google Chrome 的 IndexedDB/LevelDB 文件?

相关内容