
PE格式
文章平均质量分 71
LewisCheng
这个作者很懒,什么都没留下…
展开
-
PE格式详解(七)
首先介绍一下DLL相关内容。根据Win32 Programmers Reference所述(自己翻译的):“在Windows中,动态链接库(DLL)是含有函数与数据的模块。一个DLL在运行时期由其调用模块加载,当DLL被加载时,它会被映射到主叫进程的地址空间中去。 DLL内有两类函数:输出(exported)与内部(internal)。输出函数是要原创 2008-08-31 00:13:00 · 1776 阅读 · 1 评论 -
PE格式详解(八)
上次讲了输出区段,还是比较简单的,但输入区段内容就稍稍多了点,保持耐心阿,这是本系列关于PE格式部分的最后一讲啦! 输入区段(Import Section),包含了所有从DLL中引用的函数的信息。与输出区段类似,这些信息是由几个数据结构描述的,其中最重要的是输入目录表(Import Directory)与输入地址表(Import Address Tabl原创 2008-08-31 00:14:00 · 2831 阅读 · 0 评论 -
PE格式详解(一)
本系列主要是参考英文原本ARTeam的PE File Format Tutorial并加以注解,以最简洁的语言来阐述PE格式,帮助大家快速入门。在开始之前,请确定您懂得C语言,至少是基本数据类型、数组和结构体,以及会WinHEX的基本使用方法。任何错误都欢迎指出,感激不尽! (一)介绍PE 格式 PE格式(Portable Executable,可移植可执行文件)是原生的原创 2008-08-29 22:11:00 · 2975 阅读 · 4 评论 -
PE格式详解(三)
PE header对应C中的IMAGE_NT_HEADER32结构,如下:typedef struct _IMAGE_NT_HEADERS { DWORD Signature; // PE Signature PE.. (50h 45h 00h 00h) IMAGE_FILE_HEADER FileHeader;原创 2008-08-31 00:06:00 · 1762 阅读 · 0 评论 -
PE格式详解(四)
特地把Optional header放一篇文章,是因为它比较复杂与庞大,也因为它比较重要。 老样子,先是IMAGE_OPTIONAL_HEADER结构:typedef struct _IMAGE_OPTIONAL_HEADER { WORD Magic; // 又是Magic BYTE Ma原创 2008-08-31 00:09:00 · 1725 阅读 · 0 评论 -
PE格式详解(九)
好了,如果你确实按进程看到了这里,那么我首先要钦佩你的毅力,感谢你的支持,同时也恭喜你已经对PE格式有了比较全面的了解。回想起来,其实PE格式的理解并不很困难,只是比较复杂,也容易搞混结构关系,所以我写了这第九篇,把PE格式的总体结构按研究的顺序给出,让这个轮廓清晰地出现在脑中。 好,如果我们拿到一个EXE,想要去分析它的格式,我们可以按下面的步骤进行:原创 2008-08-31 00:15:00 · 1454 阅读 · 1 评论 -
PE格式详解(二)
一个PE程序总是以一个64字节的DOS header结构开头,目的就是为了如果程序在DOS中运行,DOS会识别它为正确的EXE并进而运行DOS stub,它的作用就是输出字符串”This program cannot run in DOS mode.”然后退出。 下面就是DOS Header在C语言中的结构表示(来自MinGW的winnt.h)typedef st原创 2008-08-29 22:12:00 · 2008 阅读 · 1 评论 -
PE格式详解(五)
上次文章因为实在太长,所以不得不把这么简单的一点内容单独成文。回顾一下,上次先说到PE header,然后说到其中的成员Optional header,它的最后一个结构成员DataDirectory,是一个含有16个IMAGE_DATA_DIRECTORY类型元素的数组,每一个元素都指向PE文件内的一个很重要的数据结构。 首先列出IMAGE_DATA_DIRECT原创 2008-08-31 00:11:00 · 1468 阅读 · 0 评论 -
PE格式详解(六)
前面花了很大的力气终于把复杂的PE header讲完了,在PE header紧接着的就是区段表(Secton Table),所谓的紧接着,就是一个字节也不差的意思,^_^ 还记得么?我们在很前面讲File header时,里面一个成员就是NumberOfSections,就是区段的个数,是7个,那么对应的区段表中的表项也应当有7项。 每一原创 2008-08-31 00:12:00 · 2088 阅读 · 0 评论