Varias extensiones de Chrome almacenan datos sobre su configuración y otra información persistente (listas blancas para Adblock y Ghostery, scripts para Tampermonkey, estilos para Stylish, etc.). ¿Dónde lo guardan? ¿Cómo puedo verlo y editarlo?
Respuesta1
Algunos datos que Google Chrome almacena en Local Storage
una carpeta en formato SQLite ( .localstorage
archivos). Ver:¿Cómo abro archivos de almacenamiento local en Google Chrome?
Algunos otros datos que se almacenan en IndexedDB
carpetas (para cada perfil) (ver:¿Dónde guarda Google Chrome el LocalStorage de las Extensiones?) están enFormato nivelDB. Es un formato de almacén de clave-valor de código abierto desarrollado por Google y está alojado enGitHub.
Para modificar archivos en formato LevelDB fuera de Chrome, no es un proceso sencillo ya que necesitaría implementar un comparador compatible para inspeccionar las instancias de LevelDB indexadas de Chrome. Ver:¿Cómo acceder a los archivos IndexedDB/LevelDB de Google Chrome?
Respuesta2
Otra carpeta de perfil que vale la pena examinar es Local Extension Settings
, que contiene tiendas LevelDB.
Hay una pregunta sobreRecomendaciones de softwareEstoy buscando un cliente LevelDB, pero no parece haber muchas buenas opciones gratuitas. Para la extensión con la que estaba jugando, usando elniveldbLa biblioteca de Python fue 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')
Respuesta3
Quizás puedas comprobar estos:
- ¿Para qué se utiliza la tienda en almacenamiento local en Chrome?
- ¿Cómo abro archivos `.localstorage` desde la carpeta de almacenamiento local?
Parece formato SQLite (archivos de extensión .localstorage).
Editar: también puede consultar la herramienta de desarrollo y luego la pestaña Aplicación > Almacenamiento local.
Por ejemplo, en la página de opciones de Adblock:
(fuente:imagen-compartir.com)
Este archivo corresponde a ...\Data\profile\Default\Local Storage\chrome-extension_gighmmpiobklfepjocnamgkkbiglidom_0.localstorage
Tenga en cuenta que cualquier cambio que realice en el almacenamiento local puede ser sobrescrito por la aplicación/extensión web, etc.
Respuesta4
Un ejemplo para editar archivos .sol almacenados con la extensión ruffle chrome:
Navegue a DevTools => Aplicación => Almacenamiento local, seleccione la extensión, el archivo. Hay entradas Clave=Valor. El valor es una cadena base64.
Para continuar con este ejemplo, también puede ser relevante en este tema: use el "Administrador de guardado" de ruffle y modifíquelo con minerva (tiene un código fuente de github) y base64 para obtener el valor.
De vuelta en Clave=Valor, modifique el Valor. No está guardado en este momento. Navegue a "~/.config/google-chrome/Default/Local Storage/leveldb/", hay archivos .ldb de archivo y un archivo .log que es el ldb activo. Copie el archivo .log, cierre el navegador, sobrescriba el archivo .log con la copia, reinicie el navegador y el juego debería tener los datos modificados ahora.