欢迎光临112期刊网!
网站首页 > 论文范文 > 计算机论文 > 软件技术 > Windows XP日志文件格式分析

Windows XP日志文件格式分析

日期:2023-01-24 阅读量:0 所属栏目:软件技术


windows xp日志文件格式分析

  日志文件是windows系统中一个比较特殊的文件,它记录着windows系统中所发生的一切,如各种系统服务的启动、运行、关闭等信论文联盟http://息。windows日志包括应用程序、安全、系统等几个部分,应用程序日志、安全日志和系统日志对应的文件名为、
  。这些文件受到“event log(事件记录)”服务的保护只能被清空,但是不能删除某一条记录。
   应用程序日志、安全日志、系统日志、dns日志等默认存放位置:%systemroot%\\system32\\config,默认文件大小512kb。
  安全日志:%systemroot%\\system32\\config\\
  系统日志:%systemroot%\\system32\\config\\
   应用程序日志:%systemroot%\\system32\\config\\
   可以在注册表中修改这些log文件的默认存放位置:
   hkey_local_machine\\system\\currentcontrolset\\services\\eventlog
  2日志文件的数据结构
  2.1日志文件头结构分析
   windows msdn中日志文件头的结构体数据类型如下:
  typedef struct _eventlogheader {
   ulong headersize; //文件头的大小,是固定值(0x30)
   ulong signature; //特定码值,总是(0x654c664c)
   ulong majorversion; //主版本号,总是1
   ulong minorversion; //次版本号,总是1
   ulong startoffset; //第一条(最早)日志记录的偏移量
   ulong endoffset; //文件尾的文件内偏移量
  ulong currentrecordnumber; //将要产生记录的记录号
   ulong oldestrecordnumber;//第一条(最早)记录的记录号
   ulong maxsize; //日志文件的总大小,这里是64k(0x10000)
   ulong flags; //日志文件的状态标志
   ulong retention; //文件创建时的保留值,与注册表关联。
   ulong endheadersize; //文件头的大小,文件头结束。
  }eventlogheader, *peventlogheader
   为了更为直观地展现出日志文件头的储存结构我们用winhex打开一个日志记录为空的日志文件,没有事件记录,只有文件头和文件尾。如图1所示。
   可以看到前三行共48个字节是文件头部分,接下来的40个字节是文件尾部分,之间没有事件记录。文件头部分其内容和日志文件头结构体相一致。在这里由于日志文件的内容是空的,所以startoffset(第一条(最早)日志记录的文件内偏移量)和endoffset(文件尾的文件内偏移量)相同都是0x30。这是一个空日志文件,由于没有事件记录所以oldestrecordnumber(第一条(最早)日志记录的记录号)为00 00 00 00。
  图1文件头和文件尾
  2.2日志文件尾结构分析
   windows msdn中日志文件尾的结构体数据类型如下:
  typedef struct _eventlogeof {
   ulong recordsizebeginning;//文件尾大小,固定值(0x28)
   ulong one; //标识符,总是(0x11111111)
   ulong two; //标识符,总是(0x22222222)
   ulong three; //标识符,总是(0x33333333)
   ulong four; //标识符,总是(0x44444444)
   ulong beginrecord; //第一条(最早)日志记录的偏移量
   ulong endrecord; //将要产生新的一条记录的偏移量,即当前文件尾的偏移量
   ulong currentrecordnumber; //将要产生的记录的记录号
   ulong oldestrecordnumber; //第一条(最早)日志记录的记录号,如果事件日志为空时这里的值是0
   ulong recordsizeend; //文件尾大小,是固定值(0x28)
  } eventlogeof, *peventlogeof;
   在图1中所示的日志文件,是把日志里的事件记录清空后得到的空日志文件,所以文件尾中的oldestrecordnumber值是1而不是0,endrecord值0x f4 71 05 00和currentrecordnumber值0x 74 06 00 00都是日志事件记录清空前的值,系统并没有将其立即更新,而是等到再写入新事件记录时再更新。如果清空日志之前再产生一条记录的话,那么它的文件内偏移量将是0x f4 71 05 00记录号将是0x 74 06 00 00,即第1652个记录(0x674=1652)。
  2.3日志事件记录结构分析
   windows msdn中日志事件记录的结构体数据类型如下:
  typedef struct _eventlogrecord {
   dword length; //该记录的大小
   dword reserved; //固定值,总是(0x654c664c)
   dword recordnumber; //记录号,当前是第几条记录。
   dword timegenerated;//时间代码,从1970年到现在的秒数
   dword timewritten; //时间代码,从1970年到现在的秒数
   dword eventid; //事件id号
   word eventtype; //事件类型
   word numstrings; //消息量,事件包含多少条消息。

转贴于论文联盟 http://

word eventcategory; //事件种类
   word reservedflags; //事件的保留标记
   dword closingrecordnumber; //事件的结束记录数
   dword stringoffset; //事件消息的偏移量
   dword usersidlength; //用户安全标识符大小,没有则为0
   dword usersidoffset; //用户安全标识符的偏移量
   dword datalength; //对事件进行详细描述的数据的长度
   dword dataoffset; //对事件进行详细描述的数据的偏移量
  } eventlogrecord, *peventlogrecord;
   现在我们用winhex打开文件,以其中一个事件记录为例来分析事件记录的存储结构。
   由文件头部分的内容可以看出这个日志文件有3条事件记录,因为currentrecordnumber值为4(0018h 04 00 00 00)。文件的总大小为(0020h 00 00 01 00)0x10000即64k,第一条事件记录从0030h处开始,大小为对212(0xd4)个字节,我们就以这条记录为例来分析。
  0030h d4 00 00 00 length 该记录的长度为212个字节
  0034h 4c 66 4c 65 reserved 保留值
  0038h 01 00 00 00 recordnumber记录号,当前是第1条记录
  003ch d4 44 9d 4c timegenerated 时间代码
  0040h d5 44 9d 4c timewritten 时间代码
  0044h fb 43 00 40 eventid 事件id号为17403(0x43fb)
  0048h 04 00 01 00 eventtype 事件类型的代码有1表示错误,2表示警告,4表示信息,8成功审核等,这里的代码为4,表示信息。高位字是消息量numstrings
  004ch 02 00 00 00 eventcategory 事件类别为2,高位字是reservedflags事件的保留标记
  0050h 00 00 00 00 closingrecordnumber事件的结束记录数其值为0
  0054h 7a 00 00 00 stringoffset事件消息的偏移量(指本事件记录内的偏移量,本记录开始于30h,所以事件消息的文件内偏移量应为aa)
  0058h 00 00 00 00 usersidlength 用户安全标识符的大小,如果没有则为0
  005ch 7a 00 00 00 usersidoffset 用户安全标识符的偏移量
  0060h 46 00 00 00 datalength 对事件进行描述的数据长度
  0064h 86 00 00 00 dataoffset 对事件描述的数据偏移量
  0068h—0087h的内容是信息来源,每个字母占用两个字节空间
  0088h—00a7h的内容是计算机名
  00a8h—00b5h服务闲置时间45856秒
  00b6h—00fbh事件的描述数据大小为0x46字节
  00fch 00 00 00 00描述数据结束
  0100h d4 00 00 00 事件记录的长度,事件记录内容结束。
  3手工删除修改事件记录方法实现
   对windowsxp日志的文件头,文件尾和单条事件记录的结构和存储方式都已经了解透彻了,根据日志文件的结构来删除记录。在事件服务(eventlog)已启动的情况下,由于系统对日志文件进行了保护,一般情况下是无法修改这些论文联盟http://文件的,我们先把日志文件备份出来对某些记录进行删除,然后用修改后的日志文件覆盖原有的日志文件来达到日志内容修改的目的。了解了日志文件的结构及系统的检查验证机制后理论上是可以随便更改事件记录内容的,但是由于涉及到很多的偏移量值,有的东西修改起来比较麻烦。
  4结束语
   本文详尽描述了windows xp日志文件的结构,日志查看器在打开日志文件时的文件完整性验证机制,在掌握了日志文件结构及验证机制的基础上,借助winhex对日志事件记录进行删除及修改的具体方法。该方法能够自由删除某一条或者几条系统日志记录,而且不留下痕迹,但是该方法仍然不能绕过系统对当前日志文件的保护。 转贴于论文联盟 http://
本文链接:http://www.qk112.com/lwfw/jsjlw/ruanjianjishu/229802.html

论文中心更多

发表指导
期刊知识
职称指导
论文百科
写作指导
论文指导
论文格式 论文题目 论文开题 参考文献 论文致谢 论文前言
教育论文
美术教育 小学教育 学前教育 高等教育 职业教育 体育教育 英语教育 数学教育 初等教育 音乐教育 幼儿园教育 中教教育 教育理论 教育管理 中等教育 教育教学 成人教育 艺术教育 影视教育 特殊教育 心理学教育 师范教育 语文教育 研究生论文 化学教育 图书馆论文 文教资料 其他教育
医学论文
医学护理 医学检验 药学论文 畜牧兽医 中医学 临床医学 外科学 内科学 生物制药 基础医学 预防卫生 肿瘤论文 儿科学论文 妇产科 遗传学 其他医学
经济论文
国际贸易 市场营销 财政金融 农业经济 工业经济 财务审计 产业经济 交通运输 房地产经济 微观经济学 政治经济学 宏观经济学 西方经济学 其他经济 发展战略论文 国际经济 行业经济 证券投资论文 保险经济论文
法学论文
民法 国际法 刑法 行政法 经济法 宪法 司法制度 法学理论 其他法学
计算机论文
计算机网络 软件技术 计算机应用 信息安全 信息管理 智能科技 应用电子技术 通讯论文
会计论文
预算会计 财务会计 成本会计 会计电算化 管理会计 国际会计 会计理论 会计控制 审计会计
文学论文
中国哲学 艺术理论 心理学 伦理学 新闻 美学 逻辑学 音乐舞蹈 喜剧表演 广告学 电视电影 哲学理论 世界哲学 文史论文 美术论文
管理论文
行政管理论文 工商管理论文 市场营销论文 企业管理论文 成本管理论文 人力资源论文 项目管理论文 旅游管理论文 电子商务管理论文 公共管理论文 质量管理论文 物流管理论文 经济管理论文 财务管理论文 管理学论文 秘书文秘 档案管理
社科论文
三农问题 环境保护 伦理道德 城镇建设 人口生育 资本主义 科技论文 社会论文 工程论文 环境科学