¿Qué formato de base de datos integrada utiliza esta extensión de Chrome?

¿Qué formato de base de datos integrada utiliza esta extensión de Chrome?

Extensión de ChromePureza FBescribe sus datos en ~/.config/chromium/Default/Local Extension Settings/ncdlagniojmheiklojdcpdaeepochckl/000003.log(no es un archivo de registro a pesar de su nombre).

Este archivo es una especie de base de datos que contiene, entre otras cosas, una gran cadena JSON. Aquí está el comienzo del archivo visto en 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\":\"

... momento en el que comienza la gran cadena JSON.
Mismo comienzo del archivo que hexadecimal:

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

PREGUNTA: ¿Qué tipo de formato de base de datos es ese?

SQLitebrowser se niega a abrirlo. El filecomando de Ubuntu simplemente dice data. Mi objetivo es extraer la primera cadena JSON de ese archivo. Usando el último Chromium.

Respuesta1

EsNivelDB, un almacén de valores clave.

Puedes usar NodeJS yelevar a mismo nivelpara acceder a los datos:

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

(subir de nivel requierenivel abajoinstalarse para acceder a bases de datos en disco).

Respuesta2

Los archivos están enFormato nivelDBdesarrollado por Google y el código está alojado enGitHub.

Potencialmente puedes usarleveldb-jsonutilidad para exportar los datos apuntando a la .indexeddb.leveldbcarpeta; sin embargo, primero deberá implementar un comparador compatible (ya que Chrome proporciona su propia implementación de comparador) para inspeccionar las instancias de base de datos indexada de Chrome según la información en¿Cómo acceder a los archivos IndexedDB/LevelDB de Google Chrome?

información relacionada