开发者

How can I reconstitute a text file saved in a browser cache, gzipped?

开发者 https://www.devze.com 2023-03-17 11:05 出处:网络
I just lost a couple of days of work to a crashing editor. My file is now an empty file, and the last backup I have is from 4 days ago.

I just lost a couple of days of work to a crashing editor. My file is now an empty file, and the last backup I have is from 4 days ago.

I have the CSS file saved in my Chromium's cache, but it looks like this:

http://myserver.example.com/style.css

HTTP/1.1 200 OK

Date: Mon, 04 Jul 2011 05:18:25 GMT

Last-Modified: Mon, 04 Jul 2011 01:10:47 GMT

Vary: Accept-Encoding,User-Agent

Content-Encoding: gzip

Content-Length: 7588

Content-Type: text/css

00000000: 5e 01 00 00 02 08 00 00 be 45 ba c7 cd 05 2e 00 ^........E......

00000010: 25 68 d9 c7 cd 05 2e 00 1d 01 00 00 48 54 54 50 %h..........HTTP

00000020: 2f 31 2e 31 20 32 30 30 20 4f 4b 00 44 61 74 65 /1.1 200 OK.Date

00000030: 3a 20 4d 6f 6e 2c 20 30 34 20 4a 75 6c 20 32 30 : Mon, 04 Jul 20

00000040: 31 31 20 30 35 3a 31 38 3a 32 35 20 47 4d 54 00 11 05:18:25 GMT.

(etc)

00000000: 1f 8b 08 00 00 00 00 00 00 03 cd 3d fd 8f db b6 ...........=....

00000010: 92 3f d7 7f 05 2f 8b 22开发者_StackOverflow ed c2 f2 87 fc b1 6b 2f .?.../."......k/

00000020: 1a a0 09 5e 1e f0 5e 7b 57 34 c5 dd 0f 87 83 21 ...^..^{W4.....!

00000030: db f2 5a 89 6c f9 49 72 36 5b 63 ff f7 e3 b7 86 ..Z.l.Ir6[c.....

00000040: e4 50 1f 9b 4d ef 52 34 b1 65 71 66 38 1c ce 0c .P..M.R4.eqf8...

00000050: 87 c3 e1 f0 9a fc e3 9c 1e c9 3f e2 94 fc b1 8f ..........?.....

The entire file seems to be there, and I can get the text.

I'd like to get back the plain CSS file somehow. I tried extracting the data, but gzip says it isn't gzip format. But it doesn't seem to be gzip encoded (it's not binary, after all...). Is it base64 or something? I've had a hard time finding any info on this.


Try finding the gzip header by extracting the hex data into an editor and searching for the header as per gzip specification. You should be able to do this by finding the end of the response body and selecting the previous 7588 bytes (you have this info in the response headers: Content-Length: 7588) - this should be the first character of the header.

Depending on the flags set in the header, gzip'd files may be ASCII or binary. You can determine if data are base64 encoded as base64 scheme encodings terminate with the = character. You can decode base64 online.

Alternatively you could try a tool such as ChromeCacheViewer.


The file looks gzip. It has the 1f8b header. Chrome stores the cached files as files, you just need to find them. Google for "location of chrome cache" and find it for your platform.

0

精彩评论

暂无评论...
验证码 换一张
取 消