Chrome 拡張機能によって保存されたデータを変更するにはどうすればよいですか?

Chrome 拡張機能によって保存されたデータを変更するにはどうすればよいですか?

さまざまな Chrome 拡張機能は、設定やその他の永続的な情報 (adblock および ghostery のホワイトリスト、tampermonkey のスクリプト、stylish のスタイルなど) に関するデータを保存します。どこに保存されるのでしょうか? どうすれば表示および編集できますか?

答え1

Google Chrome は一部のデータをSQLite 形式 (ファイル)Local Storageでフォルダーに保存します。参照:.localstorageGoogle Chrome でローカル ストレージ ファイルを開くにはどうすればいいですか?

フォルダーに保存されるその他のデータIndexedDB(各プロファイル用)(参照:Google Chrome は拡張機能から LocalStorage をどこに保存しますか?) にありますLevelDBフォーマットこれはGoogleが開発したオープンソースのキーバリューストア形式で、GitHub

Chrome の外部で LevelDB 形式のファイルを変更するには、Chrome の Indexed DB leveldb インスタンスを検査するために互換性のあるコンパレータを実装する必要があるため、簡単なプロセスではありません。参照:Google Chrome の IndexedDB/LevelDB ファイルにアクセスするにはどうすればいいですか?

答え2

調べる価値のあるもう 1 つのプロファイル フォルダーはLocal Extension Settings、LevelDB ストアが含まれる です。

質問がありますソフトウェアの推奨事項LevelDBクライアントを探していますが、良い無料の選択肢はあまりないようです。私がいじっていた拡張機能では、レベルdbPython ライブラリで十分でした:

>>> 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

以下の点を確認してください:

SQLite 形式 (.localstorage 拡張子ファイル) のようです。

編集: 開発ツールをチェックし、アプリケーション タブ > ローカル ストレージを確認することもできます。

たとえば、Adblock オプション ページの場合:
(ソース:画像共有

このファイルは...\Data\profile\Default\Local Storage\chrome-extension_gighmmpiobklfepjocnamgkkbiglidom_0.localstorageに対応します

ローカル ストレージに加えた変更は、Web アプリケーション/拡張機能などによって上書きされる可能性があることに注意してください。

答え4

ruffle Chrome 拡張機能によって保存された .sol ファイルを編集する例:

DevTools => アプリケーション => ローカル ストレージに移動し、拡張子、ファイルを選択します。Key=Value エントリがあります。値は base64 文字列です。

この例を続けると、このトピックにも関連している可能性があります。ruffle の「Save Manager」を使用し、minerva (github ソース コードがあります) と base64 を使用して変更し、値を取得します。

Key=Value に戻り、値を変更します。この時点では保存されていません。「~/.config/google-chrome/Default/Local Storage/leveldb/」に移動すると、アーカイブ .ldb ファイルとライブ ldb である .log ファイルがあります。.log ファイルをコピーし、ブラウザを閉じて、.log ファイルをコピーで上書きし、ブラウザを再起動すると、ゲームに変更されたデータが含まれるようになります。

関連情報