摘要: 源代码如下: typedef struct _IMAGE_BASE_RELOCATION { DWORD VirtualAddress; DWORD SizeOfBlock; // WORD TypeOffset[1]; } IMAGE_BASE_RELOCATION; typedef IMAGE_BASE_RELOCATION UNALIGNED * PIMAGE... 阅读全文
posted @ 2016-08-17 10:49 endlesstravel 阅读(1421) 评论(0) 推荐(0) 编辑
摘要: typedef struct _IMAGE_EXPORT_DIRECTORY { DWORD Characteristics; // 未使用,总为0 DWORD TimeDateStamp; // 文件创建时间戳 WORD MajorVersion; // 未使用,总为0 WORD MinorVersion; ... 阅读全文
posted @ 2016-08-16 18:23 endlesstravel 阅读(2613) 评论(0) 推荐(0) 编辑
摘要: 在 PE文件头的 IMAGE_OPTIONAL_HEADER 结构中的 DataDirectory(数据目录表) 的第二个成员就是指向输入表的。每个被链接进来的 DLL文件都分别对应一个 IMAGE_IMPORT_DESCRIPTOR (简称IID) 数组结构。 在这个 IID数组中,并没有指出有多 阅读全文
posted @ 2016-08-16 13:32 endlesstravel 阅读(5146) 评论(0) 推荐(0) 编辑
摘要: RVA是相对虚拟地址(Relative Virtual Address)的缩写。RVA是当PE 文件被装载到内存中后,某个数据位置相对于文件头的偏移量。 例如:导入表的位置和大小可以从PE文件头中IMAGE_OPTIONAL_HEADER32结构的数据目录字段中获取,对应的项目是DataDirectory字段的第2个IMAGE_DATA_DIRECTORY结构。从IMAGE_DATA_DIRECT... 阅读全文
posted @ 2016-08-15 16:31 endlesstravel 阅读(3137) 评论(0) 推荐(2) 编辑
摘要: IMAGE_SECTION_HEADER 的源代码如下: 每个区块表长度占40个字节。 * 表示需要注意的字段,最有用的是 SizeOfRawData 、 PointerToRawData 和Characteristics 字段。 Name * 此字段时区块名。(一句话:名字而已,没什么用) 要求: 阅读全文
posted @ 2016-08-15 11:23 endlesstravel 阅读(1305) 评论(0) 推荐(0) 编辑
摘要: 结构体源代码如下: typedef struct _IMAGE_OPTIONAL_HEADER { // // Standard fields. // +18h WORD Magic; // 标志字, ROM 映像(0107h),普通可执行文件(010Bh) +1Ah BYTE MajorLinkerVer... 阅读全文
posted @ 2016-08-14 12:29 endlesstravel 阅读(1049) 评论(0) 推荐(0) 编辑
摘要: 源代码如下: typedef struct _IMAGE_FILE_HEADER { +04h WORD Machine; // 运行平台 +06h WORD NumberOfSections; // 文件的区块数目 +08h DWORD TimeDateStamp; // 文件创... 阅读全文
posted @ 2016-08-14 10:34 endlesstravel 阅读(1966) 评论(0) 推荐(0) 编辑
摘要: 源代码如下: typedef struct _IMAGE_NT_HEADERS { +00h DWORD Signature; // 固定为 0x00004550 根据小端存储为:"PE.." +04h IMAGE_FILE_HEADER FileHeader; +18h IMAGE_OPTIONAL_HEADER32 OptionalHeader; } IMAGE_NT_HE... 阅读全文
posted @ 2016-08-14 09:10 endlesstravel 阅读(741) 评论(0) 推荐(0) 编辑
摘要: typedef struct _IMAGE_DOS_HEADER { // DOS .EXE header WORD e_magic; // Magic number 固定为"MZ" 即, 4Dh 5Ah WORD e_cblp; // Bytes on last page of f... 阅读全文
posted @ 2016-08-14 08:39 endlesstravel 阅读(852) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2016-08-14 08:07 endlesstravel 阅读(679) 评论(0) 推荐(0) 编辑