Qual formato de banco de dados incorporado é usado por esta extensão do Chrome?

5

Extensão do Chrome F.B. Pureza grava seus dados em ~/.config/chromium/Default/Local Extension Settings/ncdlagniojmheiklojdcpdaeepochckl/000003.log (não um arquivo de log apesar de seu nome).

Este arquivo é um tipo de banco de dados que contém, entre outras coisas, uma grande cadeia JSON. Aqui está o começo do arquivo visto no 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\":\"

... no ponto em que a grande cadeia JSON começa.
O mesmo começo do arquivo como 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

PERGUNTA : Que tipo de formato de banco de dados é esse?

O SQLitebrowser se recusa a abri-lo. O comando file do Ubuntu apenas diz data . Meu objetivo é extrair a primeira string JSON desse arquivo. Usando o mais recente Chromium.

    
por Nicolas Raoul 15.04.2016 / 12:32

2 respostas

7

É LevelDB , um armazenamento de valor-chave.

Você pode usar o NodeJS e o levelup para acessar os dados:

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

(o levelup requer que o leveldown seja instalado para acessar bancos de dados em disco.)

    
por 13.06.2016 / 10:23
2

Os arquivos estão em formato LevelDB desenvolvido pelo Google (verifique o página inicial do projeto ) e o código está hospedado em GitHub .

Potencialmente, você pode usar o utilitário leveldb-json para exportar os dados, apontando para a pasta .indexeddb.leveldb , no entanto, você precisaria implementar um comparador compatível primeiro (como o Chrome fornece sua própria implementação de comparador) para inspecionar as instâncias do leveldb do banco de dados indexado do Chrome conforme informações em Como acessar os arquivos IndexedDB / LevelDB do Google Chrome?

    
por 08.01.2018 / 02:14