PE(Portable Executable),即可移植的执行体。所有Windows下可执行文件,均使用PE文件结构。

PE文件通常包括以下节(Section)

.textbss/BSS

BSS段(bss segment)通常是指用来存放程序中未初始化的全局变量的一块内存区域。BSS是英文Block Started by Symbol的简称。BSS段属于静态内存分配。

.text/CODE
代码段(text segment)通常是指用来存放程序执行代码的一块内存区域。这部分区域的大小在程序运行前就已经确定,并且内存区域属于只读。在代码段中,也有可能包含一些只读的常数变量,例如字符串常量等。需要注意的是,borland这里叫做code,而不是text 。

.rdata
只读数据段。
The .rdata section is used for at least two things. First, in Microsoft linker-produced EXEs, the .rdata section holds the debug directory, which is only present in EXE files.
The other useful portion of an .rdata section is the description string. If you specified a DESCRIPTION entry in your program’s DEF file, the specified description string appears in the .rdata section.

.data
数据段(data segment)通常是指用来存放程序中已初始化的全局变量的一块内存区域。数据段属于静态内存分配。

.idata
The .idata section contains information about functions (and data) that the module imports from other DLLs.
导入段。包含程序需要的所有DLL文件信息。

.edata
The .edata section is a list of the functions and data that the PE file exports for other modules.
导出段。包含所有提供给其他程序使用的函数和数据。

.rsrc
The .rsrc section contains all the resources for the module.
资源数据段,程序用到什么资源数据都在这里。

.reloc
The .reloc section holds a table of base relocations. A base relocation is an adjustment to an instruction or initialized variable value that’s needed if the loader couldn’t load the file where the linker assumed it would. If the loader is able to load the image at the linker’s preferred base address, the loader completely ignores the relocation information in this section.
重定位段。如果加载PE文件失败,将基于此段进行重新调整。

参考文献
1.https://msdn.microsoft.com/en-us/library/ms809762.aspx

Windows PE文件各个节(Section)分析相关推荐

  1. 基于windows PE文件的恶意代码分析;使用SystemInternal工具与内核调试器研究windows用户空间与内核空间...

    基于windows PE文件的恶意代码分析:使用SystemInternal工具与内核调试器研究windows用户空间与内核空间 ******************** 既然本篇的主角是PE文件,那 ...

  2. PE文件和COFF文件格式分析——节信息

    在<PE文件和COFF文件格式分析--签名.COFF文件头和可选文件头3>中,我们看到一些区块的信息都有偏移指向.而我们本文讨论的节信息是没有任何偏移指向的,所以它是紧跟在可选文件头后面的 ...

  3. PE文件和COFF文件格式分析——导出表

    在之前的<PE可选文件头>相关博文中我们介绍了可选文件头中很多重要的属性,而其中一个非常重要的属性是(转载请指明来源于breaksoftware的CSDN博客) IMAGE_DATA_DI ...

  4. PE文件和COFF文件格式分析——导出表的应用——一种摘掉Inline钩子(Unhook)的方法

    在日常应用中,某些程序往往会被第三方程序下钩子(hook).如果被下钩子的进程是我们的进程,并且第三方钩子严重影响了我们的逻辑和流程,我们就需要把这些钩子摘掉(Unhook).本件讲述一种在32位系统 ...

  5. PE文件和COFF文件格式分析——RVA和RA相互计算

    之前几节一直是理论性质的东西非常多.本文将会讲到利用之前的知识得出一个一个非常有用的一个应用.(转载请指明来源于breaksoftware的csdn博客) 首先我们说下磁盘上A.exe文件和正在内存中 ...

  6. PE文件和COFF文件格式分析--概述

    刚工作的时候,我听说某某大牛在做病毒分析时,只是用notepad打开病毒文件,就能大致猜到病毒的工作原理.当时我是佩服的很啊,同时我也在心中埋下了一个种子:我也得有这天.随着后来的工作进行,一些任务的 ...

  7. PE文件和COFF文件格式分析——导出表的应用——通过导出表隐性加载DLL

    通过导出表隐性加载DLL?导出表?加载DLL?还隐性?是的.如果觉得不可思议,可以先看<PE文件和COFF文件格式分析--导出表>中关于"导出地址表"的详细介绍.(转载 ...

  8. PE文件和COFF文件格式分析——导出表的应用——一种插件模型

    可能在很多人想想中,只有DLL才有导出表,而Exe不应该有导出表.而在<PE文件和COFF文件格式分析--导出表>中,我却避开了这个话题.我就是想在本文中讨论下载Exe中存在导出表的场景. ...

  9. PE文件格式分析系列(文章3)----一个PE文件rdata段的分析(Win32工程Release版)(二)

    PE文件格式分析系列(文章3) 一个PE文件rdata段的分析(Win32工程Release版)(二) 下面分析这个PE文件rdata段的常量数据(000050A4---0000543D) 00005 ...

  10. PE文件和COFF文件格式分析——签名、COFF文件头和可选文件头1

    本文将讨论PE文件中非常重要的一部分信息.(转载请指明来源于breakSoftware的CSDN博客) 首先说一下VC中对应的数据结构."签名.COFF文件头和可选文件头"这三部分 ...

最新文章

  1. Turing渲染着色器网格技术分析
  2. 小米半年来最大调整:成立技术委员会,雷军称技术事关生死存亡
  3. js调用数科阅读器_阅读大型 JavaScript 源码时有什么好用的工具?
  4. 在Ubuntu8.10下为PHP安装coreseek全文检索引擎支持的详细步骤
  5. linux目录为root所有文件,linux获取文件所有目录/文件夹的例子linux操作系统 -电脑资料...
  6. mysql 查询优化实验报告_Mysql查询优化小结
  7. python需要音语基础_英语基础一般,如何才能学习C语言编程和Python
  8. arm ida 伪代码 安卓 符号表_IDA调试界面介绍及快捷键
  9. python发明者叫什么-python是怎么被发明的
  10. 【easy】206. Reverse Linked List 链表反转
  11. ABP入门系列(17)——使用ABP集成的邮件系统发送邮件
  12. 超简单的memcached集群搭建
  13. .net mysql 测试连接数据库连接,C#.NET连接mysql方法
  14. 数学建模之数据包络分析(评价投入产出比的模型)
  15. java 如何调用大漠插件_java通过jaboc调用dll(大漠插件)遇到的坑,变参指针传参问题...
  16. 基于压缩传感的脉冲GPR成像技术研究(硕士学位论文初稿20111230)
  17. 车机蓝牙通话流程分析的流程分析
  18. 多个三元表达式的写法
  19. 搜狗输入法 linux 17.04,Ubuntu17.04 安装搜狗中文输入法的方法
  20. 挣值管理EVM(PV,EV,AC,SV,CV,SPI,CPI);

热门文章

  1. iOS小知识:nib本地化、图片本地化字符串本地化(APP 内的本地化切换)
  2. 使用Postman获取北京时间校准接口API(Json格式)
  3. Mongodb-WeAdmin基于SpringBoot实现的Mongodb管理工具
  4. qq、微信能打开,网页打不开的解决办法。
  5. dwcs6 mysql站点_在Dreamweaver CS6中如何新建站点的方法
  6. java导出帆软pdf,java后台把fineRepo图表导出pdf格式时发生错误!
  7. ASP.NET微信开发视频教程
  8. ue4 源码编译 虚拟内存不足 堆限制
  9. 数学建模(三)SARS的传播(03年A题)
  10. JAVA|大小写英文字母表