web-dev-qa-db-ja.com

Chromeキャッシュファイルを読むにはどうすればよいですか?

私が頻繁に行っていたフォーラムは今日ダウンしており、復元時に、フォーラムへの投稿の最後の2日間が完全にロールバックされたことを発見しました。

言うまでもなく、私はフォーラムの損失からどのようなデータを取り戻したいのか、少なくともsomeがキャッシュファイルに保存されていることを望んでいますChrome作成されました。

私は2つの問題に直面しています-キャッシュファイルにはファイルタイプがなく、インテリジェントな方法でそれらを読み取る方法がわかりません(Chrome自体でそれらを「再ダウンロード」するようです.gz形式)、およびtonのキャッシュファイルがあります。

これらのファイルの読み取りおよび並べ替え方法に関する提案はありますか? (単純な文字列検索は私のニーズに合うはずです)

22
Raven Dreamer

Chromeキャッシュビュー NirSoftから試してください(無料)。

23
yakatz

[〜#〜] edit [〜#〜]:以下の答えは機能しなくなりました here


ChromeまたはOperaで、新しいタブを開いてchrome://view-http-cache/

表示するファイルをクリックします。その後、テキストと数字の束を含むページが表示されます。そのページのすべてのテキストをコピーします。下のテキストボックスに貼り付けます。

[Go]を押します。キャッシュされたデータは、以下の「結果」セクションに表示されます。

31
A. Zalonis

[〜#〜] edit [〜#〜]:以下の答えは機能しなくなりました here


Chromeはキャッシュを16進ダンプとして保存します。 OSXには、xxdがインストールされています。これは、16進ダンプを変換するためのコマンドラインツールです。次の手順を使用して、OSX上のChromeのHTTPキャッシュからjpgを回復できました。

  1. ジャンプ:chrome:// cache
  2. 回復するファイルを見つけて、そのリンクをクリックします。
  3. 4番目のセクションをクリップボードにコピーします。これはファイルの内容です。
  4. このGistの手順に従って、クリップボードをpythonスクリプトにパイプし、さらにxxdにパイプして16進ダンプからファイルを再構築します。 https://Gist.github。 com/andychase/6513075

最終的なコマンドは次のようになります。

pbpaste | python chrome_xxd.py | xxd -r - image.jpg

コンテンツの16進ダンプがChromeのキャッシュ出力のどのセクションにあるかわからない場合は、次のページを参考にしてください: http://www.sparxeng.com/blog/wp-content/uploads/2013 /03/chrome_cache_html_report.png

画像ソース: http://www.sparxeng.com/blog/software/recovering-images-from-google-chrome-browser-cache

XXDの詳細: http://linuxcommand.org/man_pages/xxd1.html

正しい方向に私を送ってくれた上記のMathias Bynensに感謝します。

9
k0nG

[〜#〜] edit [〜#〜]:以下の答えは機能しなくなりました here


回復しようとするファイルのヘッダーセクションにContent-Encoding: gzipがあり、Linuxを使用している場合(または、私の場合はCygwinがインストールされている場合)、次のことができます。

  1. chrome://view-http-cache/にアクセスして、回復するページをクリックします
  2. ページの最後の(4番目の)セクションをテキストファイルにコピーします(例:a.txt)
  3. xxd -r a.txt| gzip -d

他の答えは-pオプションをxxdに渡すことを示唆していることに注意してください。 。

chrome_xxd.pyが実行しているので、ダブルスペースをシングルスペースに置き換える必要もないようです(必要な場合は、sed 's/ / /g'を使用できます)。

9
qbolec

キャッシュファイルは、Chromeのみを使用して読み取ることができます。

Chromeには、[保存されたコピーボタンを表示]という機能があります。

保存されたコピーボタンを表示Mac、Windows、Linux、Chrome OS、Android

ページのロードに失敗したときに、ページの古いコピーがブラウザーのキャッシュに存在する場合、ユーザーがその古いコピーをロードできるようにするボタンが表示されます。主な有効化の選択により、エラーページの最も顕著な位置にボタンが配置されます。二次有効化の選択により、リロードボタンの二次となります。 #show-saved-copy

最初にインターネットから切断して、ブラウザがキャッシュエントリを上書きしないようにします。次に、chrome://flags/#show-saved-copyに移動し、フラグ値をEnable: Primaryに設定します。ブラウザを再起動すると、保存されたコピーボタンの表示が有効になります。キャッシュされたファイルURIをブラウザーのアドレスバーに挿入し、Enterキーを押します。 Chromeが表示されます[保存されたコピーを表示]ボタンと一緒にインターネット接続ページはありません: enter image description here

ボタンを押すと、ブラウザにキャッシュファイルが表示されます。

8
Leonid Vasilev

私はこのオープンソースでいくらか運がありましたPythonプロジェクト、一見非アクティブに見えます: https://github.com/JRBANCEL/Chromagnon

私が走った:

python2 Chromagnon/chromagnonCache.py path/to/Chrome/Cache -o browsable_cache/

そして、開いているすべてのタブキャッシュのローカルで参照可能な抽出を取得しました。

3
Lucas Cimon

意図的に削除されたため、戻ってくることはありません。

両方 chrome://cacheおよびchrome://view-http-cacheはchrome 66から削除されました。バージョン65で動作します。

Workaround

chrome://chrome-urls/内部の完全なリストChrome URL。

私の頭に浮かぶ唯一の回避策は、menu/more tools/developer toolsおよびNetworkタブが選択されています。

削除された理由はこのバグです:

ディスカッション:

2
Shabeer Sha

JPGおよびPNGファイルを抽出する短い愚かなスクリプトを作成しました。

#!/usr/bin/php
<?php
 $dir="/home/user/.cache/chromium/Default/Cache/";//Chrome or chromium cache folder. 
 $ppl="/home/user/Desktop/temporary/"; // Place for extracted files 

 $list=scandir($dir);
 foreach ($list as $filename)
 {

 if (is_file($dir.$filename))
    {
        $cont=file_get_contents($dir.$filename);
        if  (strstr($cont,'JFIF'))
        {
            echo ($filename."  JPEG \n");
            $start=(strpos($cont,"JFIF",0)-6);
            $end=strpos($cont,"HTTP/1.1 200 OK",0);
            $cont=substr($cont,$start,$end-6);
            $wholename=$ppl.$filename.".jpg";
            file_put_contents($wholename,$cont);
            echo("Saving :".$wholename." \n" );


                }
        elseif  (strstr($cont,"\211PNG"))
        {
            echo ($filename."  PNG \n");
            $start=(strpos($cont,"PNG",0)-1);
            $end=strpos($cont,"HTTP/1.1 200 OK",0);
            $cont=substr($cont,$start,$end-1);
            $wholename=$ppl.$filename.".png";
            file_put_contents($wholename,$cont);
            echo("Saving :".$wholename." \n" );


                }
        else
        {
            echo ($filename."  UNKNOWN \n");
        }
    }
 }
?>
2
BeginnerForever

[〜#〜] edit [〜#〜]:以下の答えは機能しなくなりました here


Google Chromeキャッシュファイル形式の説明

キャッシュファイルリスト、URLを参照(ブラウザのアドレスバーにコピーアンドペースト):

  • chrome://cache/
  • chrome://view-http-cache/

Linuxのキャッシュフォルダー:$~/.cache/google-chrome/Default/Cache

ファイルでGZIPエンコーディングを決定しましょう:

$ head f84358af102b1064_0 | hexdump -C | grep --before-context=100 --after-context=5 "1f 8b 08"

ChromeキャッシュファイルPHP(ヘッダーなし、CRC32およびISIZEブロックなし):

$ php -r "echo gzinflate(substr(strchr(file_get_contents('f84358af102b1064_0'), \"\x1f\x8b\x08\"), 10,
-8));"
0
Rin Nas

JPEXS Free Flash Decompiler has Javaでこれを行うためのコード ソースツリー内 for both Chrome =およびFirefox(ただし、Firefoxの最新のcache2はサポートされていません)。

0
hemisphire