Várias extensões do Chrome armazenam dados sobre suas configurações e outras informações persistentes (listas de permissões para adblock e ghostery, scripts para tampermonkey, estilos para estilos, etc.). Onde eles armazenam isso? Como posso visualizá-lo e editá-lo?
Responder1
Alguns dados que o Google Chrome armazena em Local Storage
pasta no formato SQLite ( .localstorage
arquivos). Ver:Como abro arquivos de armazenamento local no Google Chrome?
Alguns outros dados que são armazenados em IndexedDB
pastas (para cada perfil) (ver:Onde o Google Chrome salva o LocalStorage das extensões?) estão dentroFormato LevelDB. É um formato de armazenamento de valores-chave de código aberto desenvolvido pelo Google e está hospedado emGitHub.
Para modificar arquivos no formato LevelDB fora do Chrome, não é um processo simples, pois você precisaria implementar um comparador compatível para inspecionar as instâncias de leveldb do banco de dados indexado do Chrome. Ver:Como acessar os arquivos IndexedDB/LevelDB do Google Chrome?
Responder2
Outra pasta de perfil que vale a pena examinar é a Local Extension Settings
, que contém armazenamentos LevelDB.
Há uma pergunta sobreRecomendações de softwareprocurando um cliente LevelDB, mas não parece haver muitas boas opções gratuitas. Para a extensão que eu estava mexendo, usando oníveldbA biblioteca Python foi suficiente:
>>> import leveldb
>>> db = leveldb.LevelDB('path/to/Chrome profile/Local Extension Settings/extension id')
>>> # Available library methods
>>> dir(db)
['CompactRange', 'CreateSnapshot', 'Delete', 'Get', 'GetStats', 'Put', 'RangeIter', 'Write', ...]
>>> # List of keys
>>> [x[0] for x in db.RangeIter()]
[bytearray(b'accessToken'), bytearray(b'count'), bytearray(b'fullListArr'), ...]
>>> # Access keys with bytestrings
>>> db.Get(b'donated')
bytearray(b'true')
>>> # Put values with bytestrings
>>> db.Put(b'donated', b'false')
Responder3
Talvez você possa verificar isto:
- Para que é usado o armazenamento no armazenamento local no Chrome?
- Como abro arquivos `.localstorage` da pasta Armazenamento local?
Parece o formato SQLite (arquivos de extensão .localstorage).
Editar: você também pode verificar a ferramenta de desenvolvimento e, em seguida, a guia Aplicativo> Armazenamento local.
Por exemplo, na página de opções do Adblock:
(fonte:image-share.com)
Este arquivo corresponde a ...\Data\profile\Default\Local Storage\chrome-extension_gighmmpiobklfepjocnamgkkbiglidom_0.localstorage
Observe que qualquer alteração feita no armazenamento local pode ser substituída pelo aplicativo/extensão da web, etc.
Responder4
Um exemplo para editar arquivos .sol armazenados pela extensão ruffle chrome:
Navegue até DevTools => Application => Local Storage , selecione a extensão, o arquivo. Existem entradas Key=Value. O valor é uma string base64.
Para continuar este exemplo, pode ser relevante também neste tópico: use o "Save Manager" do ruffle e modifique-o com minerva (tem um código fonte no github) e base64 para obter o valor.
De volta a Key=Value, modifique o valor. Não está salvo neste momento. Navegue até "~/.config/google-chrome/Default/Local Storage/leveldb/" , existem arquivos .ldb e um arquivo .log que é o ldb ativo. Copie o arquivo .log, feche o navegador, substitua o arquivo .log pela cópia, reinicie o navegador e o jogo deverá ter os dados modificados agora.