【PE结构】资源表

《Windows PE》7.2 资源表 在资源表中,IMAGE_RESOURCE_DIRECTORY_ENTRY 的 OffsetToData 字段指向一个 IMAGE_RESOURCE_DATA_ENTRY 结构,该结构描述了资源数据的位置和相关属性。PE 对话框资源的起始位置 01 00 FF FF 00 00 00 00 00 00 00 00 是对话框资源的标识符,用于识别和定位对话框资源在 PE 文件中的位置。资源的每一级目录都会有一个资源目录头,它标识 了该类资源的属性、创建日期和版本等信息,其中也包含了随后的目录项的数量描述信息。 阅读详情

一、前言
二、PE整体结构
三、DOS头
四、NT头
五、区段头
六、导出表
七、导入表

八、资源表

九、重定位表

1.概念

程序中通常包含图片、菜单、控件、不同样式的文本等多种多样的内容。
这些内容或界面元素,都以二进制的形式保存在PE文件中。
这些数据保存的位置,就是PE文件的资源段(.rsrc)
这些数据的组织格式,我们成为资源表

2.资源表定位

前面提到的 NT头->扩展头->数据目录表->第三个元素->相对虚拟地址(RVA)
还用010Editor打开百度云盘看一下
这里写图片描述
从扩展头里的数据,我们就可以得到资源表的定位信息RVA
资源表所在区段是.rsrc段
这里写图片描述
资源表FOA = 资源表RVA - 区段RVA + 区段FOA = 0x7B7000 - 0x7B7000 + 0x79EA00 = 0x79EA00
这里写图片描述

3.资源表结构

资源表的结构比较复杂,一共有三层,三层从上到下是树状扩展的
第一层数

PE总结13 --PE文件结构之 解析资源表 // 资源表2.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include #include #include DWORD RVA2Offset(DWORD dwRva, PIMAGE_NT_HEADERS32 pNt) { DWORD dwOffset = 0; PIMAGE_SECTION_HEADER pSection = I 阅读详情

相关推荐

PE总结12---PE文件结构之资源表 (IMAGE_RESOURCE_DIRECTORY)

资源在PE中是以目录的形式存在的,一般有3层:资源类型,目标资源ID与资源代码页 都是以IMAGE_RESOURCE_DIRECTORY结构为头部的,并且后面跟着一个IMAGE_RESOURCE_DIRECTORY_ENTRY结构数组。 IMAGE_RESOURCE_DIRECTORY,负责指出后面数组中的成员个数 IMAGE_RESOURCE_DIRECTORY_ENTRY,数组成员分

oBuYiSeng的博客 7758

PE文件结构(五)延迟导入表,资源表以及其他数据表

延迟导入表 延迟导入表主要是为了加快进程的运载速度而存在,其具体结构如下: typedef struct _IMAGE_DELAYLOAD_DESCRIPTOR { union { //这个联合体是该表的属性 DWORD AllAttributes; struct { DWORD RvaBased : 1; // Delay load version 2

jzz5072的博客 557

获取PE文件的导入表

获取PE文件的导入表中模块和API信息的源代码

改文件pe斗的软件。本人用vb写的

改文件pe头改文件pe头改文件pe头改文件pe头改文件pe头改文件pe头改文件pe头改文件pe头改文件pe头改文件pe头改文件pe头改文件pe头改文件pe头

PMAC上位机通信原理(C#)

基础是引用 两个 ODT dll 原理是先注册到communication.AsyncDataAvailable事件中去 if (bSuccess1) { communication.AsyncDataAvailable += communication_AsyncDataAvailable; } bool bSuccess2 = communication1.GPAsciiConnect(strIP, iPort, strName, strPassword); i

weixin_45507349的博客 1087

用OpenNI2获取奥比中光Astra Pro及 Astra Pro SM输出的深度图(win,linux arm64 x64平台)

搞了一个奥比中光Astra Pro,想在windows平台,和linux rk3588 上获取深度信息,之前的驱动下载已经不好用了。

babytiger的专栏 1305

葵花 Himawari 8/9号数据学习记录-01-数据初识

葵花卫星学习记录,第一章:卫星的来源与卫星数据的波段介绍

weixin_44111909的博客 537

Cadence Virtuoso实战:3分钟搞定反相器参数化设计(附CDF配置避坑指南)

本文详细介绍了如何在Cadence Virtuoso中利用CDF参数传递功能实现反相器的参数化设计,包括PMOS和NMOS的基础搭建、CDF配置技巧及常见报错解决方案。通过实战案例和避坑指南,帮助工程师快速掌握高效设计方法,提升集成电路设计效率。

weixin_28292761的博客 336

ZYNQ千兆网UDP通信实战:从Vivado配置到LWIP优化全流程(附避坑指南)

本文详细介绍了在ZYNQ平台上实现千兆以太网UDP通信的全流程,包括Vivado硬件配置、LWIP协议栈优化及实战代码示例。通过关键参数调整和性能优化,系统吞吐量可提升至850Mbps以上,适用于高速网络通信场景。

weixin_29161785的博客 230

ASReview:基于主动学习的AI文献筛选工具,提升科研效率

主动学习是机器学习的一个重要分支,其核心原理是让算法能够主动选择最有价值的数据进行标注,从而以更低的成本获得更好的模型性能。这一技术通过人机协作的闭环流程,显著提升了数据标注和模型训练的效率和精度。在工程实践中,主动学习尤其适用于数据标注成本高昂或数据类别不平衡的场景,例如医学影像分析、自然语言处理中的文本分类以及推荐系统的冷启动问题。通过优先标注模型最不确定的样本,它能够有效解决传统机器学习面临的冷启动和数据稀疏性挑战。本文聚焦的ASReview项目,正是将主动学习原理应用于系统文献综述这一具体场景,通过

weixin_28725959的博客 432

十五、SAP-物料需求计划(MRP)

业务逻辑、功能讲解、图文解析、章节总结

m0_72403327的博客 1094

《低功耗方法学》翻译——卷首语

低功耗设计方法学。

记录所学,分享知识,结识挚友 992

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

上一篇: 查找main函数
下一篇: 【PE结构】重定位表
SMOne_Z
博客等级 码龄20年 22粉丝 15原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值