Различные расширения Chrome хранят данные о своих настройках и другую постоянную информацию (белые списки для adblock и ghostery, скрипты для tampermonkey, стили для Stylish и т. д.). Где они это хранят? Как я могу просмотреть и отредактировать это?
решение1
Некоторые данные Google Chrome хранит в Local Storage
папке в формате SQLite ( .localstorage
файлы). Смотрите:Как открыть файлы локального хранилища в Google Chrome?
Некоторые другие данные, которые хранятся в IndexedDB
папках (для каждого профиля) (см.:Где Google Chrome сохраняет LocalStorage из расширений?) находятся вФормат LevelDB. Это формат хранилища ключей и значений с открытым исходным кодом, разработанный Google и размещенный наGitHub.
Чтобы изменить файлы в формате LevelDB вне Chrome, это не простой процесс, поскольку вам нужно будет реализовать совместимый компаратор для проверки экземпляров индексированной базы данных Chrome leveldb. Смотрите:Как получить доступ к файлам IndexedDB/LevelDB в Google Chrome?
решение2
Еще одна папка профиля, на которую стоит обратить внимание Local Extension Settings
, — это , содержащая хранилища LevelDB.
Есть вопрос по темеРекомендации по программному обеспечениюищу клиент LevelDB, но, похоже, хороших бесплатных вариантов не так уж много. Для расширения, с которым я возился, используяуровеньdbДостаточно было библиотеки Python:
>>> 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')
решение3
Возможно, вы могли бы проверить это:
- Для чего используется функция сохранения в локальном хранилище в Chrome?
- Как открыть файлы `.localstorage` из папки локального хранилища?
Похоже на формат SQLite (файлы с расширением .localstorage).
Редактировать: Вы также можете проверить инструмент разработки, затем вкладку «Приложение» > «Локальное хранилище».
Например, на странице настроек Adblock:
(источник:image-share.com)
Этот файл соответствует ...\Data\profile\Default\Local Storage\chrome-extension_gighmmpiobklfepjocnamgkkbiglidom_0.localstorage
Обратите внимание, что любые изменения, внесенные вами в локальное хранилище, могут быть перезаписаны веб-приложением/расширением и т. д.
решение4
Пример редактирования файлов .sol, сохраненных расширением ruffle для Chrome:
Перейдите в DevTools => Application => Local Storage, выберите расширение, файл. Есть записи Key=Value. Значение — это строка base64.
Продолжение этого примера, возможно, также будет уместно в этой теме: используйте «Менеджер сохранения» ruffle и измените его с помощью minerva (есть исходный код на github) и base64, чтобы получить значение.
Вернитесь к Key=Value, измените Value. В данный момент оно не сохранено. Перейдите в "~/.config/google-chrome/Default/Local Storage/leveldb/", там находятся архивные файлы .ldb и файл .log, который является живым ldb. Скопируйте файл .log, закройте браузер, перезапишите файл .log копией, перезапустите браузер, и игра должна иметь измененные данные.