WindowsPE权威指南-PE文件头中的重定位表
发布时间:2020-12-14 02:32:11 所属栏目:Windows 来源:网络整理
导读:PE加载的过程 任何一个EXE程序会被分配4GB的内存空间,用户层处理低2G的内存,驱动处理高2G的内存。 1、双击EXE程序,操作系统开辟一个4GB的空间。 2、从ImageBase决定了加载后的基址,ImageSize决定了程序有多大。 3、然后加载DLL 大体流程: 1、PE被执行时
PE加载的过程任何一个EXE程序会被分配4GB的内存空间,用户层处理低2G的内存,驱动处理高2G的内存。
大体流程:1、PE被执行时,装载器为进程分配虚拟地址空间,在此情况下,并不是把完整的PE文件载入到磁盘中,而是做一个简单的内存映射。 2、PE装载器在内核中创建进程对象和主进程对象以及其他的内容。 3、PE装载器搜索输入表,装载应用程序所用的动态链接库,方式类似于应用程序的装载。 4、PE装载器执行PE文件首部所指定地址的代码,开始执行应用程序。 PE文件头中的重定位表程序被装入内存时,其基址是由字段 重定位表结构重定位表为数据目录中注册的数据类型之一,其描述信息处于数据目录的第6个目录项中。 typedef struct _IMAGE_BASE_RELOCATION { DWORD VirtualAddress; // 页存储的起始RVA DWORD SizeOfBlock; // 重定位块的长度 } IMAGE_BASE_RELOCATION; typedef IMAGE_BASE_RELOCATION UNALIGNED * PIMAGE_BASE_RELOCATION; 参考滴水逆向第三期重定位 https://ke.qq.com/webcourse/index.html#cid=160243&term_id=100184967&taid=869859726619123&type=1024&vid=m14134ekj6e (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- Windows服务器
- windows-server-2008-r2 – 从打孔的RAID阵列中恢
- 如何在Windows上获取我的Arduino草图的汇编语言列
- .NET Framework 在全球化(globalization)功能上新
- windows-server-2012 – Windows Server 2012中的
- windows server 2012配置php环境教程
- 如何在Windows 8.1上安装PyBluez?
- windows-server-2008-r2 – 为什么Window的SSL C
- windows – 获取用户所属的AD组列表
- tfs2010 – 具有TFS构建服务器的第三方DLL
热点阅读