3

以下是来自 IE9 localStorage 文件的一些示例 XML:

<root>
  <item name="1264474612:page_insights:latestversion" 
  value="6"
  ltime="1024039440" 
  htime="30244985" />
</root>

我试图弄清楚如何解释这些类型的记录,包括 ltime 和 htime 值。我从研究中发现它与 IE9 localStorage 和来自%userprofile%\AppData\Local\Microsoft\Internet Explorer\DOMStore\.

任何帮助表示赞赏。

4

2 回答 2

4

ltimehtime是 64 位时间值的一部分,其中一个是较低的,另一个是较高的 32 位值。

两种最常用的 64 位时间格式是 64 位版本的 Unix ( POSIX ) 时间和 Windows FILETIME(仅限 64 位)。

  • POSIX时间是自 1970 年 1 月 1 日以来 UTC 的秒数。
  • Windows FILETIME是自 UTC 时间 1601 年 1 月 1 日以来的纳秒数。

同时使用ltimehtime,要获得 64 位值,必须先将每个值转换为十六进制。

ltime = 1024039440 (decimal) = 0x3d099a10 (hexadecimal)
htime =   30244985 (decimal) = 0x01cd8079 (hexadecimal)

value = (htime x 0x100000000) + ltime
      = (0x01cd8079 x 0x100000000) + 0x3d099a10
      = 0x01cd807900000000 + 0x3d099a10
      = 0x01cd80793d099a10 (hexadecimal)
      = 129901222467050000 (decimal)

如果上述结果使用FILETIMEPOSIX格式计算,则FILETIME时间为2012-08-22, 08:17:26.705,而POSIX时间为4116407840-06-22, 09:53:20。因此,更有可能将FILETIME格式用于时间戳,因为POSIX时间将超过当前年份(2012 年)。

于 2012-10-20T06:06:11.270 回答
2

如果您正在寻找一个程序来为您解码这些值,请查看DCode

代码
(来源:digital-detective.co.uk

您将选择值Windows: Cookie Date (Lo Value, Hi Value),然后输入数字,如1024039440,30244985

使用 UTC 作为时区,这些值被解释为:Wed, 22 August 2012 15:17:26 UTC

于 2012-10-20T10:06:45.867 回答