摘要: 2011年10月09日 星期日 16:23转载自 cvvd最终编辑 cvvd图1PE加载器在完成文件实体数据到内存虚拟数据的映射之后,便开始从位于IMAGE_OPTION_HEADER末端的IMAGE_DATA_DIRECTORY数组的第2项(如图2),取出输入表的RVA和大小,准备开始输入函数的初始化。输入表的RVA实际上是指向一个以IMAGE_IMPORT_DESCRIPTOR为元素的数组,该数组以一个全零的结构作为结尾。图2图3从该结构(如图3)的Name字段,可以推测每一个该结构都只能描述一个动态库,事实上也是如此。其中OriginalFirstThunk和FristThunk都是IM 阅读全文
posted @ 2012-07-08 10:52 麦小扣_刘 阅读(1213) 评论(0) 推荐(0) 编辑
摘要: 2011年10月09日 星期日 16:24转载自 cvvd最终编辑 cvvd让我想想,这集应该谈什么来着?哦,对了,上次说的重定位数据了,嗯。说到数据的重定位,我们就不得不谈谈系统究竟为什么要对数据进行麻烦的重定位?既然在IMAGE_OPTION_HEADER中有一项ImageBase,指定了程序欲加载的位置,那么程序中用到的地址引用就都可以 以映射基址进行定位,但要知道程序(通常是DLL)有时并不总会按照你预想的位置进行加载,举一个简单的例子来说,当一个DLL欲加载到10 00 00 00地址时,此位置恰巧已经有一个ImageBase指定为10 00 00 00的DLL已经在先前的调用中加载 阅读全文
posted @ 2012-07-08 10:52 麦小扣_刘 阅读(452) 评论(0) 推荐(0) 编辑
摘要: 2011年10月09日 星期日 16:25转载自 cvvd最终编辑 cvvd相信大家通过前几篇对PE文件的学习,已经可以自己找到资源表了!没错它就是数据目录的第三项,从这里我们得到的是如下结构的RVA前3x4byte空间一般为0,只有后面的NumberOfNamedEntries(以资源名表示的资源数目)和NumberOfIdEntries(以ID表示的资源数目)有用。PE资源被定义为一个树状的数据结构,它由数据目录(IMAGE_RESOURCE_DIRECTORY)+节点(IMAGE_RESOURCE_DIRECTORY_ENTRY)组成。上图是DIRECTORY_ENTRY的C定义,它的汇 阅读全文
posted @ 2012-07-08 10:52 麦小扣_刘 阅读(423) 评论(0) 推荐(0) 编辑
摘要: 转载自 cvvd最终编辑 cvvdPE文件格式作为Windows框架下的一种最为通用的可移植文件格式,被广泛使用的同时,也被广大Cracker研究。我写本系列文章的目的也主要立意于作为一名程序员或信息安全人员应该如何理解PE文件,这有助于我们对Windows旗下的win32子系统程序的理解和运用。闲话不多说。现在我们就将作为一个PELoader来学习一下PE文件是怎样运行起来的,它究竟何其他的文件有什么区别。1.PE文件头,作为dos下程序的拓展,PE文件头部也包含了DOS可执行头部(IMAGE_DOS_HEADER 其大小为40H),我们可以在DOS头部的e_lfanew字段得到PE文件头相 阅读全文
posted @ 2012-07-08 10:51 麦小扣_刘 阅读(2324) 评论(0) 推荐(0) 编辑
摘要: 菜鸟的病毒分析基本信息 报告名称:简单pe添加节病毒分析 作者: 报告更新日期: 2012.07.08 样本发现日期: 样本类型: 样本文件大小/被感染文件变化长度: 样本文件MD5 校验值: 样本文件SHA1 校验值: 壳信息: 可能受到威胁的系统: Microsoft Windows NT 4.0Microsoft Windows NT 4.0 Terminal Services EditionMicrosoft Windows 2000Microsoft Windows XPMicrosoft Windows Server 2003Microsoft Windows v... 阅读全文
posted @ 2012-07-08 10:32 麦小扣_刘 阅读(406) 评论(0) 推荐(0) 编辑