文章目录

  • IMAGE_SECTION_HEADER
    • BYTE Name
    • 各个节偏移
    • DWORD Characteristics

IMAGE_SECTION_HEADER

typedef struct _IMAGE_SECTION_HEADER {+  BYTE Name[IMAGE_ SIZEOF_ SHORT_ NAME]; //ASCI字符串 可自定义只截取8个union {//没有对齐前的真实尺寸,即节的真实大小DWORD PhysicalAddress;DWORD VirtualSize;} Misc;
+  DWORD VirtualAddress;//在内存中的偏移地址,加上ImageBase才是在内存中的真正地址
+  DWORD SizeOfRawData;//节在文件中对齐后的尺寸
+  DWORD PointerToRawData;//节区在文件中的偏移DWORD PointerToRelocations,//调试相关DWORD PointerTol inenumbers;WORD NumberOfRelocations;WORD NumberOflinenumbers;
+  DWORD Characteristics;//节的属性
} IMAGE_ SECTION_ _HEADER, *PIMAGE_ _SECTION_ HEADER;

BYTE Name

各个节的名字,可更改

各个节偏移

  • Misc ;节的真实大小

  • VirtualAddress; 在内存中的偏移地址,加上ImageBase才是在内存中的真正地址
    此文件在内存中偏移地址为1000

  • SizeOfRawData;节在文件中对齐后的尺寸

  • PointerToRawData;节区在文件中的偏移
    此文件偏移为400


由上可得他之间得对应关系入下图

DWORD Characteristics


如图中20000060 因是小端存储
则转换为二进制:0110 0000 0000 0000 0000 0000 0010 0000
则对应的数据位如下表

数据位 常量符号 位为1时的含义
5 IMAGE SCN_ CNT_ CODE或0000020h 节中包含代码
6 IMAGE_ SCN_ CNT_ INITIALIZED_ DATA或0000040h 节中包含已初始化数据
7 IMAGE_ SCN_ CNT_ UNINITIALIZED_ DATA或00000080h 节中包含未初始化数据
8 IMAGE_ SCN_ LNK. OTHER或00000100h 保留供将来使用
25 IMAGE_ SCN_ MEM _DISCARDABLE或0200000h 节中的数据在进程开始以后将被丢弃,如.reloe
26 IMAGE_ SCN_ MEM_ NOT CACHED或04000000h 节中的数据不会经过缓存
27 IMAGE_ SCN_ MEM_ NOT_ PAGED或08000000h 节中的数据不会被交换到磁盘
28 IMAGE_ SCN_ MEM SHARED或10000000h 表示节中的数据将被不同的进程所共享
29 IMAGE_ SCN MEM_ EXECUTE或20000000h 映射到内存后的页面包含可执行属性
30 IMAGE_ SCN_ MEM READ或40000000h 映射到内存后的页面包含可读属性
31 IMAGE_ SCN_ MEM WRITE或80000000h 映射到内存后的页面包含可写属生
                                            感谢观看

PE中节表IMAGE_SECTION_HEADER详(四)相关推荐

  1. hive 临时表 with_Kettle(PDI)转换中输入表输入详解

    概述 Table input(表输入)此步骤使用SQL语句从连接的数据库中读取信息.通过单击获取SQL查询语句按钮,可以自动生成基本SQL语句. 选项 Table input(表输入)步骤有以下选项: ...

  2. win32下PE文件分析之节表

    接上一篇的win32下PE文件分析之NT头 (一).FileBuffer与ImageBuffer (1).FileBuffer是将文件原原本本的读入申请的内存区域中,那部分区域就是FileBuffer ...

  3. WindowsPE(一)PE头字段节表

    PE头结构 PE头关键字段说明 DOS头 标准PE头 可选PE头 节表数据结构说明 通过程序,输出所有的PE头信息 #include<iostream> #include<Windo ...

  4. PE详解 - DOS文件头、PE文件头、节表和表详解

    原文地址:http://www.blogfshare.com/pe-header-one.html PE(Portable Executeable File Format,可移植的执行体文件格式),使 ...

  5. Python的Django框架中forms表单类的使用方法详解2

    用户表单是Web端的一项基本功能,大而全的Django框架中自然带有现成的基础form对象,本文就Python的Django框架中forms表单类的使用方法详解. Form表单的功能 自动生成HTML ...

  6. mvc ajax提交html标签,Mvc提交表单的四种方法全程详解

    Mvc提交表单的四种方法全程详解 2019-01-05 编程之家 https://www.jb51.cc 编程之家收集整理的这篇文章主要介绍了Mvc提交表单的四种方法全程详解,编程之家小编觉得挺不错的 ...

  7. 计算机启动时运行ccleaner,CCleaner中设置表详解

    CCleaner是一款具备强大清理能力的系统优化和隐私保护软件.它可以清理文件夹.历史记录.注册表垃圾等,还能对电脑磁盘进行清理. 在大家使用CCleaner的过程中,是否想过更改CCleaner的设 ...

  8. ef oracle 批量更新慢_详解Oracle中多表关联批量插入、批量更新与批量删除

    概述 今天主要介绍一下Oracle数据库中多表关联批量插入.多表关联批量更新和多表关联批量删除.下面用实验来理解下~ 一.创建必须的表和序列语句 --创建部门表 dept:CREATE TABLE d ...

  9. mysql join 组合索引,图文详解MySQL中两表关联的连接表如何创建索引

    本文介绍了MySQL中两表关联的连接表是如何创建索引的相关内容,分享出来供大家参考学习,下面来看看详细的介绍: 问题介绍 创建数据库的索引,可以选择单列索引,也可以选择创建组合索引. 遇到如下这种情况 ...

最新文章

  1. 2019年1月份访问量超过1千的文章
  2. ORACLE百万记录SQL语句优化技巧
  3. 跨系统远程登录用Linux系统远程登录windows7
  4. xgboost论文公式解析
  5. 南京大妈捡钻石项链要求分一半,失主跪求归还遭拒
  6. ARM汇编编程基础之一 —— 寄存器
  7. java复制sheet_Java对excel中的sheet进行拷贝
  8. FusionCharts破解版导出图片步骤
  9. java.util.list e_E remove()
  10. Android文件命名规范
  11. Mozilla Firefox 7.0 发布
  12. electron 多语言_Electron实用技巧electronbuilder中用户协议(license)的使用及多语言支持...
  13. php 判断来源 微信客户端_常见WebShell客户端的流量特征及检测思路
  14. azw3、epub、PDF等格式转换
  15. dp交换机命令_交换机常用指令总结
  16. 阿里云香港服务器和大陆服务器的优缺点分析
  17. 键入一个字母,如果小写字母输出大写,大写字母输出小写字母
  18. c语言编程樱花树,分形樱花树(画画)
  19. 低版本360浏览器下,PDF.js部分文字显示不全的问题
  20. 微型计算机的发展经历了哪几个,计算机的小故事有哪些_计算机发展史小故事...

热门文章

  1. AHB、APB学习笔记
  2. kubernetes CSI(中)
  3. IntelliJ IDEA常用快捷键汇总
  4. js svg 转成文件_【非标题党】SVG 图标看我就够了
  5. 【odoo15】在odoo中隐藏一个官方的菜单项Customers
  6. 测试三角化,利用直接线性变换法求三维点坐标(三维重建task2-1)
  7. ppt转pdf在线转换免费
  8. [4G5G专题-118]:5G培训应用篇-3-5G新的业务与应用-智能电网、车联网、智能制造、无人机等
  9. 排名算法(二)--淘宝搜索排序算法分析
  10. 解决M1处理器安装adobe闪退问题 After Effect cc AE 2020 M1直装稳定版支持M1系统 MAC苹果 M1芯片处理器