chp5Windows病毒概览.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Windows病毒分析 计算机病毒原理-第五章 5.1 PE病毒原理 Windows操作系统 当前计算机病毒的主要滋生环境和攻击对象 相对于DOS病毒结构更复杂,技巧型更强 纯粹的引导型病毒比较少见(并非不存在) 混合型病毒也比较少见 主要为PE病毒、脚本病毒、宏病毒 PE病毒 感染PE格式文件的Win32病毒 Win32可执行文件*.EXE、*.DLL、*.OCX等 数量极多,破坏性极大,技巧型最强 5.1 PE病毒原理 PE病毒需要的基本功能 重定位 截获API函数地址 搜索感染目标文件 内存文件映射 实施感染 5.1.1 PE文件结构及其运行原理 Portable Executable(可移植的执行体) Win32环境自身所带的可执行文件格式 一些特性继承自Unix的Coff文件格式 任何Win32平台的PE装载器都能识别和使用该文件格式 除VxD和16位dll外所有Win32执行文件都使用PE文件格式 PE文件结构总体层次分布图 PE文件结构 DOS MZ header 所有PE文件必须以此开始 程序在DOS下执行时DOS能识别出这是有效的执行体 DOS stub 实际上是一个有效的EXE 在不支持PE文件格式的操作系统中,它将简单显示一个错误提示 类似于字符串“该程序不能在DOS模式下运行” 或者程序员可根据自己的意图实现完整的DOS代码 PE文件结构 PE header PE相关结构IMAGE_NT_HEADERS的简称 包含了许多PE装载器用到的重要域 执行体在支持PE文件结构的操作系统中执行时 PE装载器将从DOS MZ header中找到PE header的起始偏移量 跳过DOS stub直接定位到真正的文件头PE header section table(节表) 包含对应节的属性、文件偏移量和虚拟偏移量等 PE文件中有几个节,此数据结构就包含多少个成员 PE文件结构 Sections(节) PE文件的真正内容被划分成块 每节是一块拥有共同属性的数据 节的划分是基于各组数据的共同属性,而不是逻辑概念 如果数据和代码拥有相同属性,它们就可以被归入同一个节中 节名称仅仅是一个区别不同节的符号而已 唯有节的属性设置决定了节的特性和功能 当PE装载器映射节内容时,它会检查相关节属性并置对应内存块为指定属性 PE文件结构 装载PE文件的主要步骤 PE装载器检查DOS MZ header里的PE header偏移量 如果找到,则跳转到PE header PE装载器检查PE header的有效性 如果有效,就跳转到PE header的尾部 读取节信息 采用文件映射方法将这些节映射到内存 同时附上节表里指定的节属性 PE文件映射入内存后,PE装载器将处理PE文件中引入表import table的逻辑部分 检验PE文件的有效性 完全取决于想要的精准程度 可以校验PE文件格式里的各个数据结构 仅校验一些关键数据结构 验证的重要数据结构为PE header 如果IMAGE_NT_HEADERS的signature域的值等于PE\0\0,那么就是有效的PE文件 定位PE header DOS MZ header包含了指向PE header的文件偏移量 IMAGE_DOW_HEADER结构的e_lfanew成员指向该偏移量 检验PE文件的有效性 步骤总结 检验文件头部的第一个字的值是否等于IMAGE_DOW_SIGNATURE 是,则DOS MZ header有效 一旦证明文件的DOS header有效,就可用e_lfanew来定位PE header了 比较PE header的第一个字的值是否等于IMAGE_NT_SIGNATURE 如果前后两个值都匹配,就认为该文件是一个有效的PE文件 文件头 FileHeader IMAGE_NT_HEADERS中一个非常重要的域 包含很多重要的信息 文件头的表示结构 文件头 与编制病毒相关的域 Machine、NumberOfSections和Characteristics Machine和Characteristics的值通常不会改变 如果要遍历节表就得使用NumberOfSections Windows先读取NumberOfSections的值 然后检查节表里的每个结构 如果找到一个全0结构就结束搜索 否则一直处理完NumberOfSections指定数目的结构 Optional Header PE header中最后、最大和最重要的成员 包含了PE文件的逻辑分布信息 共有31个域 对编写病毒有用的域 RVA(Relative Virtual Address) 相对虚拟地址 从虚拟空间中到参考点的一段距离 为了减少PE装载器的负担,帮助重定位 节表 Section Table 紧挨着PE h

文档评论(0)

贪玩蓝月 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档