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


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

  • 相关阅读:
    如何取消隐藏工作簿,使工作簿可见
    Android小知识总结
    Android内存泄露总结
    Ubuntu 升级VisualBox后无法启动 Kernel driver not installed (rc=-1908)
    Eclipse颜色主题插件:Eclipse Color Theme
    使用Json的注意事项
    android中正确导入第三方jar包
    设计模式--单例模式学习
    比较好的学习网址总结
    二叉树学习总结(Java实现)
  • 原文地址:https://www.cnblogs.com/sephil/p/cookiefmt.html
Copyright © 2011-2022 走看看