zoukankan      html  css  js  c++  java
  • IE Cookie 文件格式

    这几天在网上无意间看到很多人转载或部分截取了本文的部分内容
    在此声明,转载请注明出处,谢谢

    前几天写了个工具 CookieAdmin 来查看 IE 的 Cookie
    有人问到实现原理,就写了这篇文章
    我不善于写文档或文章,所以还是代码说话吧

    IE 的 Cookie 文件保存在
    ?:\Documents and Settings\<user>\Cookies 目录,后缀为.txt
    可以直接使用 API SHGetFolderPath 取得 Cookie 文件的保存目录
    不过我没发现 Delphi2007 有这个 API 的声明,所以自己声明了一下
    代码如下(发现代码高亮支持 Pascal 了,呵呵)

    GetCookieFolder
    注意 shell32 常量定义在 ShellAPI.pas 里,CSIDL_COOKIES 定义在 ShlObj.pas 里,记得引用

    枚举 Cookie 文件
    GetCookieFiles

    下面才是重点,Cookie 文件的格式,呵呵
    Cookie 文件只是个纯粹的文本文件,以换行符(ASCII=10)为分隔符
    可以使用 TStringList 读取,会自动分行的
    格式如下
    a_cookie
    0.123
    my.demo.site
    1600
    1589052800
    30634450
    672816768
    29899592
    *

    其中
    第1行为 Cookie 名称
    第2行是 Cookie 的值
    第3行是 Cookie 所属站点的地址
    第4行是个标记值(注:准确来说应该是表示该Cookie是否被加密)
    第5行为超时时间的低位(Cardinal/DWORD)
    第6行为超时时间的高位
    第7行为创建时间的低位
    第8行为创建时间的高位
    第9行固定为 * ,表示一节的结束
    需要注意的是这里使用的时间并非 Delphi 的 TDateTime,而是 FILETIME(D里为对应的TFileTime)
    一个文件可能包含有多个节,按上面的格式循环即可

    下面的代码将上述时间转换为 D 里的 TDateTime

    ConvertToDateTime


    怎么样,确实很简单吧?呵呵

  • 相关阅读:
    字体符号版面设计
    有人嘲笑我ps技术不够好@罗小白
    浅谈UI:
    色彩基础:
    常用的Mysql数据库操作语句大全
    汇编(坑逼之路)
    Linux学习笔记|扬帆
    坑爹的C++要课堂检测了 然而我什么都没学
    why I need a flow learn note.
    burpsuite
  • 原文地址:https://www.cnblogs.com/sephil/p/cookiefmt.html
Copyright © 2011-2022 走看看