iOS Cookies.binarycookies(俗称63数据)存取

本帖最后由 qazx84265 于 2019-6-21 11:15 编辑

iOS 系统会自动将Safari或APP中网络请求的cookie保存为文件,APP的cookie保存路径为
APP的沙盒路径:var/mobile/Containers/Data/Application/x-x-x/Library/Cookies/Cookies.binarycookies

Cookies.binarycookies是二进制文件,文件结构有个魔术头:字符串:“cook”,二进制为636f6f6b,所以
Cookies.binarycookies数据又被称为63数据。

要对文件内容进行存取,首先得了解文件结构:
字段 大小端 类型 大小 备注 Magic 大端 UTF-8 4 "cook", no terminator Number of pages 大端 Unsigned Int 4 Page N size 大端 Unsigned Int 4 Repeat for N pages Page Page N size Page N content
Page(
可以理解为cookie属性中domain,即相同domain的cookie保存在一个page里

字段 大小端 类型 大小 备注 Header 大端 4 0x00000100 Number of cookies 小端 Unsigned Int 4 Cookie N offset 小端 Unsigned Int 4 Repeat for N cookies Footer 4 0x00000000 Cookie N Cookie N size Cookie N content
Cookie

字段 大小端 类型 大小 备注 Size 小端 Unsigned Int 4 Size in bytes Version 小端 Unsigned Int 4 0 or 1 Flags 小端 Bit field 4 isSecure = 1, isHTTPOnly = 1 << 2, unknown1 = 1 << 3, unknown2 = 1 << 4 Has port 小端 Unsigned Int 4 0 or 1 URL Offset 小端 Unsigned Int 4 Offset from the start of the cookie Name Offset 小端 Unsigned Int 4 Offset from the start of the cookie Path Offset 小端 Unsigned Int 4 Offset from the start of the cookie Value Offset 小端 Unsigned Int 4 Offset from the start of the cookie Comment Offset 小端 Unsigned Int 4 Offset from the start of the cookie, 0x00000000 if not present Comment URL Offset 小端 Unsigned Int 4 Offset from the start of the cookie, 0x00000000 if not present Expiration 小端 Double 8 Number of seconds since 00:00:00 UTC on 1 January 2001 Creation 小端 Double 8 Number of seconds since 00:00:00 UTC on 1 January 2001 Port 小端 Unsigned Int 2 Only present if the "Has port" field is 1 Comment 小端 String Null-terminated, optional Comment URL 小端 String Null-terminated, optional URL 小端 String Null-terminated Name 小端 String Null-terminated Path 小端 String Null-terminated Value 小端 String Null-terminated
上面的Creation字段指的是,保存cookie这一时刻相对于2001/1/1 00:00:00的时间戳
Expiration指:如果cookie有max-age属性,Creation + max-age;如果cookie有expires属性,为expires转为时间戳

了解文件结构后,具体存取就很简单了,只要按照结构进行字节操作就可以了,不再赘述。

THE END
喜欢就支持以下吧
点赞0
分享
评论 抢沙发
  • 管埋员

    昵称

  • 取消
    昵称