设为首页 加入收藏

TOP

2.2 PE结构:文件头详细解析(四)
2023-09-09 10:25:33 】 浏览:231
Tags:2.2 结构 文件头 解析
(OpenPeFile("c://pe/x86.exe"), 0); if (PE == TRUE) { printf("\t\t\t 十六进制 \t 十进制 \n"); printf("NT标志: 0x%08X \t %08d \n", NtHeader->Signature, NtHeader->Signature); printf("运行平台: 0x%08X \t %08d \n", NtHeader->FileHeader.Machine, NtHeader->FileHeader.Machine); printf("区段数目: 0x%08X \t %08d \n", NtHeader->FileHeader.NumberOfSections, NtHeader->FileHeader.NumberOfSections); printf("时间日期标志: 0x%08X \t %08d \n", NtHeader->FileHeader.TimeDateStamp, NtHeader->FileHeader.TimeDateStamp); printf("特征值: 0x%08X \t %08d \n", NtHeader->FileHeader.Characteristics, NtHeader->FileHeader.Characteristics); printf("可选头部大小: 0x%08X \t %08d \n", NtHeader->FileHeader.SizeOfOptionalHeader, NtHeader->FileHeader.SizeOfOptionalHeader); printf("文件符号标志: 0x%08X \t %08d \n", NtHeader->FileHeader.NumberOfSymbols, NtHeader->FileHeader.NumberOfSymbols); printf("文件符号指针: 0x%08X \t %08d \n", NtHeader->FileHeader.PointerToSymbolTable, NtHeader->FileHeader.PointerToSymbolTable); printf("入口点: 0x%08X \t %08d \n", NtHeader->OptionalHeader.AddressOfEntryPoint, NtHeader->OptionalHeader.AddressOfEntryPoint); printf("镜像基址: 0x%08X \t %08d \n", NtHeader->OptionalHeader.ImageBase, NtHeader->OptionalHeader.ImageBase); printf("镜像大小: 0x%08X \t %08d \n", NtHeader->OptionalHeader.SizeOfImage, NtHeader->OptionalHeader.SizeOfImage); printf("代码基址: 0x%08X \t %08d \n", NtHeader->OptionalHeader.BaseOfCode, NtHeader->OptionalHeader.BaseOfCode); printf("内存对齐: 0x%08X \t %08d \n", NtHeader->OptionalHeader.SectionAlignment, NtHeader->OptionalHeader.SectionAlignment); printf("文件对齐: 0x%08X \t %08d \n", NtHeader->OptionalHeader.FileAlignment, NtHeader->OptionalHeader.FileAlignment); printf("子系统: 0x%08X \t %08d \n", NtHeader->OptionalHeader.Subsystem, NtHeader->OptionalHeader.Subsystem); printf("首部大小: 0x%08X \t %08d \n", NtHeader->OptionalHeader.SizeOfHeaders, NtHeader->OptionalHeader.SizeOfHeaders); printf("校验和: 0x%08X \t %08d \n", NtHeader->OptionalHeader.CheckSum, NtHeader->OptionalHeader.CheckSum); printf("RVA 数及大小: 0x%08X \t %08d \n", NtHeader->OptionalHeader.NumberOfRvaAndSizes, NtHeader->OptionalHeader.NumberOfRvaAndSizes); printf("主操作系统版本: 0x%08X \t %08d \n", NtHeader->OptionalHeader.MajorOperatingSystemVersion, NtHeader->OptionalHeader.MajorOperatingSystemVersion); printf("从操作系统版本: 0x%08X \t %08d \n", NtHeader->OptionalHeader.MinorOperatingSystemVersion, NtHeader->OptionalHeader.MinorOperatingSystemVersion); printf("主映像版本: 0x%08X \t %08d \n", NtHeader->OptionalHeader.MajorImageVersion, NtHeader->OptionalHeader.MajorImageVersion); printf("从映像版本: 0x%08X \t %08d \n", NtHeader->OptionalHeader.MinorImageVersion, NtHeader->OptionalHeader.MinorImageVersion); printf("主子系统版本: 0x%08X \t %08d \n", NtHeader->OptionalHeader.MajorSubsystemVersion, NtHeader->OptionalHeader.MajorSubsyst
首页 上一页 1 2 3 4 5 6 下一页 尾页 4/6/6
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇C++系列十:日常学习-元编程 下一篇C++的编译链接与在vs中build提速

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目