PE中节表IMAGE_SECTION_HEADER详(四)
文章目录
- 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详(四)相关推荐
- hive 临时表 with_Kettle(PDI)转换中输入表输入详解
概述 Table input(表输入)此步骤使用SQL语句从连接的数据库中读取信息.通过单击获取SQL查询语句按钮,可以自动生成基本SQL语句. 选项 Table input(表输入)步骤有以下选项: ...
- win32下PE文件分析之节表
接上一篇的win32下PE文件分析之NT头 (一).FileBuffer与ImageBuffer (1).FileBuffer是将文件原原本本的读入申请的内存区域中,那部分区域就是FileBuffer ...
- WindowsPE(一)PE头字段节表
PE头结构 PE头关键字段说明 DOS头 标准PE头 可选PE头 节表数据结构说明 通过程序,输出所有的PE头信息 #include<iostream> #include<Windo ...
- PE详解 - DOS文件头、PE文件头、节表和表详解
原文地址:http://www.blogfshare.com/pe-header-one.html PE(Portable Executeable File Format,可移植的执行体文件格式),使 ...
- Python的Django框架中forms表单类的使用方法详解2
用户表单是Web端的一项基本功能,大而全的Django框架中自然带有现成的基础form对象,本文就Python的Django框架中forms表单类的使用方法详解. Form表单的功能 自动生成HTML ...
- mvc ajax提交html标签,Mvc提交表单的四种方法全程详解
Mvc提交表单的四种方法全程详解 2019-01-05 编程之家 https://www.jb51.cc 编程之家收集整理的这篇文章主要介绍了Mvc提交表单的四种方法全程详解,编程之家小编觉得挺不错的 ...
- 计算机启动时运行ccleaner,CCleaner中设置表详解
CCleaner是一款具备强大清理能力的系统优化和隐私保护软件.它可以清理文件夹.历史记录.注册表垃圾等,还能对电脑磁盘进行清理. 在大家使用CCleaner的过程中,是否想过更改CCleaner的设 ...
- ef oracle 批量更新慢_详解Oracle中多表关联批量插入、批量更新与批量删除
概述 今天主要介绍一下Oracle数据库中多表关联批量插入.多表关联批量更新和多表关联批量删除.下面用实验来理解下~ 一.创建必须的表和序列语句 --创建部门表 dept:CREATE TABLE d ...
- mysql join 组合索引,图文详解MySQL中两表关联的连接表如何创建索引
本文介绍了MySQL中两表关联的连接表是如何创建索引的相关内容,分享出来供大家参考学习,下面来看看详细的介绍: 问题介绍 创建数据库的索引,可以选择单列索引,也可以选择创建组合索引. 遇到如下这种情况 ...
最新文章
- 2019年1月份访问量超过1千的文章
- ORACLE百万记录SQL语句优化技巧
- 跨系统远程登录用Linux系统远程登录windows7
- xgboost论文公式解析
- 南京大妈捡钻石项链要求分一半,失主跪求归还遭拒
- ARM汇编编程基础之一 —— 寄存器
- java复制sheet_Java对excel中的sheet进行拷贝
- FusionCharts破解版导出图片步骤
- java.util.list e_E remove()
- Android文件命名规范
- Mozilla Firefox 7.0 发布
- electron 多语言_Electron实用技巧electronbuilder中用户协议(license)的使用及多语言支持...
- php 判断来源 微信客户端_常见WebShell客户端的流量特征及检测思路
- azw3、epub、PDF等格式转换
- dp交换机命令_交换机常用指令总结
- 阿里云香港服务器和大陆服务器的优缺点分析
- 键入一个字母,如果小写字母输出大写,大写字母输出小写字母
- c语言编程樱花树,分形樱花树(画画)
- 低版本360浏览器下,PDF.js部分文字显示不全的问题
- 微型计算机的发展经历了哪几个,计算机的小故事有哪些_计算机发展史小故事...
热门文章
- AHB、APB学习笔记
- kubernetes CSI(中)
- IntelliJ IDEA常用快捷键汇总
- js svg 转成文件_【非标题党】SVG 图标看我就够了
- 【odoo15】在odoo中隐藏一个官方的菜单项Customers
- 测试三角化,利用直接线性变换法求三维点坐标(三维重建task2-1)
- ppt转pdf在线转换免费
- [4G5G专题-118]:5G培训应用篇-3-5G新的业务与应用-智能电网、车联网、智能制造、无人机等
- 排名算法(二)--淘宝搜索排序算法分析
- 解决M1处理器安装adobe闪退问题 After Effect cc AE 2020 M1直装稳定版支持M1系统 MAC苹果 M1芯片处理器