Chrome拡張の不具合を調べるとき、通常の設定画面から見えない保存値を確認したい場合があります。プロファイルのLevelDBファイルを直接扱う前に、ブラウザーを閉じ、対象データのコピーを使う読み取り専用の手順を用意します。
元データを保護する
Chromeのプロファイルには他サイトの状態も含まれるため、必要な拡張IDの保存領域だけを特定し、ファイルを別の作業用フォルダーへコピーします。元のlogやldbを編集・削除せず、調査後のコピーも安全に破棄します。
LevelDBのログは固定サイズのブロックに分かれ、論理レコードが複数の物理レコードへ断片化することがあります。ブロック境界をまたぐデータを単純に一行のテキストとして読むだけでは、内容を取り違えます。ldbは圧縮やテーブル形式の解析が必要になる場合があり、ログファイルと同じ方法で扱えるとは限りません。
出力を最小化する
検索対象を既知のキーやレコード形式に絞り、画面へ出す値は必要な範囲にします。認証情報、本文、利用者識別情報をログやIssueへ貼らないでください。文字列が見つからないことを、保存されていない証拠と誤認せず、圧縮・断片化・別ファイルへの移動を切り分けます。
解析器にはコピーを入力し、ファイルサイズやレコード数を先に確認します。元ファイルのハッシュを記録すると、調査中に誤変更がないことを確認できます。
まとめ
LevelDB調査はアプリの通常APIを使わない低レベルの診断です。読み取り専用のコピー、対象範囲の限定、出力の秘匿を徹底し、データ形式の限界を結果と一緒に記録しましょう。
