Chrome缓存文件阅读器

时间:2018-10-27 10:41:17

标签: c# google-chrome

我有兴趣查看位于C:\Users\%user%\AppData\Local\Google\Chrome\User Data\Default\Cache的chrome缓存文件中的数据 与CacheView相同:How can I read Chrome Cache files?

我查看了数据库历史记录 Cookies 。使用以下SQLite命令:
历史:Urls

select id,url,title,visit_count,typed_count,time(last_visit_time / 1000000 + (strftime('%s', '1601-01-01')), 'unixepoch') AS Date,hidden from urls

历史记录:下载

SELECT downloads.id, downloads_url_chains.url, downloads.received_bytes, downloads.total_bytes,
                                downloads.state, downloads.target_path, time(downloads.start_time / 1000000 + (strftime('%s', '1601-01-01')), 'unixepoch') AS Date, time(downloads.end_time / 1000000 + (strftime('%s', '1601-01-01')), 'unixepoch') AS Date,
                                downloads.opened, downloads.danger_type, downloads.interrupt_reason, downloads.etag,
                                time(downloads.last_modified / 1000000 + (strftime('%s', '1601-01-01')), 'unixepoch') AS Date, downloads_url_chains.chain_index
                            FROM downloads, downloads_url_chains WHERE downloads_url_chains.id = downloads.id

历史记录:Downloads_Url_Cache

SELECT downloads_url_chains.id, downloads_url_chains.url, downloads_url_chains.chain_index FROM downloads_url_chains

饼干

SELECT host_key,name,encrypted_value,value FROM cookies WHERE value = ''

其中不包含一般缓存的数据(png,mp4等)的文件类型,大小或url来源的基础元数据。

应用目的 预期生成的应用程序将从缓存中获取当前文件数。当然,自我更新是作为后台线程。

因此,我已经花了8个小时以上的时间来学习这个主题,其中包括通过binaryReader和UTF-8解码的前10个字符的初始标头处理类。大错。研究使用某些Regex扩展到HttpHeader处理。

问题:开发人员如何通过c-sharp访问缓存的文件(即png)?

在没有开发人员参与的情况下进行进一步的研究,使我无法理解HEX内存指针的路线。使用StreamReader流式传输文件时,请放入一些Regex。它必须比这容易吗?

更多参考资料: Chrome_Disk_Cache_FormatHow to read IE and Chrome Cache content programmatically (C#)?

更新:一些伪装

由于编码和填充失败。

GetEncoding(); // Returns ASCII
// freezes System.Text.Encoding.ASCII.GetString(buf);
// symbol no System.Text.Encoding.UTF8.GetString(buf);
// encoding no string finalLines = Convert.ToBase64String(thisData, Base64FormattingOptions.InsertLineBreaks);
// symbol no string datas = System.Text.Encoding.Default.GetString(thisData);
string cur = "";
this.Invoke((MethodInvoker)delegate ()
     {
       richTextBox1.Text = Convert.ToBase64String(File.ReadAllBytes(path));
       cur = richTextBox1.Text;
       richTextBox1.Enabled = true;
     });
 // INVAL MAGIC   byte[] decompressed = Decompress(thisData); // it's not gzip compressed as a file
// string[] data = File.ReadAllLines(path); 
Regex encRex = new Regex("^([^;]+);(?:\\s*([^=]+)=((?<q>\"?)[^\"]*\\k<q>);?)*$", RegexOptions.IgnoreCase);

0 个答案:

没有答案