繁体   English   中英

如何使用 C# 读取 Microsoft Edge 历史记录

[英]How to read the Microsoft Edge history using C#

我想访问 Microsoft Edge 的历史记录,我该怎么做? 作为我的研究,我们可以通过删除 %LOCALAPPDATA%\\Packages\\Microsoft.MicrosoftEdge_8wekyb3d8bbwe\\AC 文件夹中以 # 开头的文件夹以编程方式删除 Edge 的历史记录,但在我的情况下,我想阅读它们。

当我打开一个以# 开头的文件夹时,即#!001,那里有很多子文件夹,我不知道我应该在哪里查看才能获取数据。 在我的调查中,当我访问一个网站时,它似乎在临时文件夹中创建了一个 URLXXX.tmp 并且这个文件被加密了。 那是我应该查看的文件吗? 另外,还有一些 *.dat 文件,是否相关?

是的,历史记录存储在 WebCacheV01.dat 文件中。 它是一个 ESE 数据库(以前称为 Jet Blue)。 Microsoft 提供 api 来访问此数据库。 寻找 JetOpenDatabase、JetAttachDatabase api。 但是,此文件始终由名为 CacheTask 的任务使用(请参阅任务计划程序中的 Microsoft\\Windows\\WinInet 文件夹)。 您需要在访问此数据库之前停止此任务。 然后立即再次开始此任务。 因为另一个 COM Surrogate 在几秒钟后启动 DllHost.exe (3EB3C877-1F16-487C-9050-104DBCD66683),这将阻止您访问 WebCacheV01.dat。 所以你需要在上面的 COM Surrogate 开始之前完成阅读。 COM 代理仅在 CacheTask 未运行时启动。 因此,如果您立即重新启动 CacheTask,则 COM Surrogate 将无法启动。

更新:请注意,由于 Microsoft 已用基于 Chromium 的 Microsoft Edge 替换了旧的 Microsoft Edge,因此历史记录/书签文件格式与 Google Chrome 相同。 它是一个 sqlite 数据库。 使用 sqlite API 从这个数据库访问数据相当容易。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM