Safari 5.1 cookie格式规范

use*_*591 8 cookies safari

为SAFARI存储cookie的方式已经改变了SAFARI 5.1,并且它们在文件的最后8个字节中添加了一种完整性控制代码:

该文件是%APPDATA%\ Apple Computer\Safari\Cookies\Cookies.binarycookies

有人知道最后8个字节对应的是什么吗?

CRC32检查?

请帮忙

小智 17

Cookie.binarycookies:

我认为这会有所帮助.我用十六进制编辑器对文件进行了反转,并开始更改cookie.

一般说明:

该文件由多个页面组成,每个页面内部可以有一个或多个cookie.每个页面都有一个可变的标头,0x10,0x14和0x1c是我们可以看到的常见值.

文件:

该文件以一个不感兴趣的4字节标头开头.

接下来的4个字节是真正感兴趣的,因为它们表示文件中存在的页数.

然后我们得到每个页面的长度,也用4个字节的数字表示.重要的是要知道所有这些数字都是用big-endian编写的.所以,我们有4*个字节页面,然后是页面.

我们最后有8个字节,也没什么兴趣.

页:

每个页面都有一个标题,其长度可以从一个页面更改为另一个页面.要知道标头的长度,我们必须丢弃前五个字节,接下来的4个字节将指示标头的长度.

在标题之后,我们将以4个字节表示cookie的长度,以little-endian排序!该长度还包括表示长度所需的4个字节.

当这个cookie结束时,另一个将开始,依此类推到页面的末尾.

曲奇饼:

每个cookie的日期从0x2B开始.日期由以little-endian排序的4个字节组成.日期以秒表示,但不是自纪元以来所以我们需要减去这个数字:1706047360.(它只适用于2017年的某一天)

下一个感兴趣的领域从0x38开始.这些字段是动态字段,因此它们由NULL"0x00"字节分隔,并按以下顺序排列:name,value,url,path.

例:

http://i52.tinypic.com/2qcqix2.jpg

整个cookie的长度为0x82.如果与页面长度相对应,此cookie旁边将以完全相同的格式启动另一个cookie.

  • 仅供参考,以下博客文章将此格式描述描述为"有用但错误",并继续提供详细的替代方案:http://it.toolbox.com/blogs/locutus/understanding-the-safari-cookiesbinarycookies-file-格式49980 (2认同)