当前位置:网站首页>逆向调试入门-PE结构-资源表07/07
逆向调试入门-PE结构-资源表07/07
2022-07-04 12:45:00 【51CTO】
资源表:
PE中的相关资源可以通过程序进行深度定位,所获取的二进制字节码与资源脚本语句之间是一一对应的。
这些数据可能是源代码内部需要用到的常景,比如 菜单选项、界面描述等;也可能是源代码外部的,比如程序的图标文件、背景音乐文件、配置 文件等,以上这些数据统称为资源。

常见的资源
程序中常用的六类资源包括:
1、位图资源
2、光标资源
3、图标资源
4、菜单资源
5、对话框资源
6、自定义资源

结构体:
资源目录结构
typedef struct _IMAGE_RESOURCE_DIRECTORY_ENTRY {
union {
struct {
DWORD NameOffset : 31; //资源名偏移
DWORD NameIsString : 1; //资源名为字符串
};
DWORD Name; //资源/语言类型
WORD Id; //资源数字ID
};
union {
DWORD OffsetToData; //数据偏移地址
struct {
DWORD OffsetToDirectory : 31; //子目录偏移地址
DWORD DataIsDirectory : 1; //数据为目录
};
};
} IMAGE_RESOURCE_DIRECTORY_ENTRY, *PIMAGE_RESOURCE_DIRECTORY_ENTRY;
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
我们使用工具进行实验
工具有
1、360zip程序
2、resource hacker或者是exescope
3、stud_pe

首先我们查看PE资源表

有9个资源组

第一个资源表

我们进行观察下

我们对该程序的资源表有个大概的了解之后

使用resource 打开该程序

我们对菜单的功能进行修改

文件会模拟出菜单选项

将一级菜单改掉

将二级菜单中的打开文件操作,修改下名称

选择编译脚本

文件另存为

该文件,如果直接打开

我们将文件放到程序目录

一个是正版,一个是我们修改之后的程序(壳)

正常画面

修改之后的画面

修改成功。
由于PE结构中资源表一层套一层。难以手动分析,所以使用工具是最佳选择。
边栏推荐
- 室外LED屏幕防水吗?
- 从0到1建设智能灰度数据体系:以vivo游戏中心为例
- iptables基础及Samba配置举例
- Besides, rsync+inotify realizes real-time backup of data
- Building intelligent gray-scale data system from 0 to 1: Taking vivo game center as an example
- C语言小型商品管理系统
- Interviewer: what is the difference between redis expiration deletion strategy and memory obsolescence strategy?
- 面试官:Redis中哈希数据类型的内部实现方式是什么?
- C语言个人通讯录管理系统
- Commvault 和 Oracle 合作,在 Oracle 云上提供 Metallic数据管理即服务
猜你喜欢

n++也不靠谱

字节面试算法题

JVM series - stack and heap, method area day1-2

Talk about the design and implementation logic of payment process

洞见科技解决方案总监薛婧:联邦学习助力数据要素安全流通

Xue Jing, director of insight technology solutions: Federal learning helps secure the flow of data elements

SQL statement syntax error in test SQL statement deletion in eclipse linked database
![[cloud native | kubernetes] in depth understanding of ingress (12)](/img/34/67eae1e5df89bb0a356a1c29a5e007.png)
[cloud native | kubernetes] in depth understanding of ingress (12)

eclipse链接数据库中测试SQL语句删除出现SQL语句语法错误

Building intelligent gray-scale data system from 0 to 1: Taking vivo game center as an example
随机推荐
Xilinx/system-controller-c/boardui/ unable to connect to the development board, the solution of jamming after arbitrary operation
Node mongodb installation
CA: efficient coordinate attention mechanism for mobile terminals | CVPR 2021
Agile development / agile testing experience
[FAQ] summary of common causes and solutions of Huawei account service error 907135701
remount of the / superblock failed: Permission denied
iptables基础及Samba配置举例
After the game starts, you will be prompted to install HMS core. Click Cancel, and you will not be prompted to install HMS core again (initialization failure returns 907135003)
C language Dormitory Management Query Software
7 月数据库排行榜:MongoDB 和 Oracle 分数下降最多
WPF双滑块控件以及强制捕获鼠标事件焦点
使用宝塔部署halo博客
Cann operator: using iterators to efficiently realize tensor data cutting and blocking processing
实战:fabric 用户证书吊销操作流程
FS4056 800mA充电ic 国产快充电源ic
[AI system frontier dynamics, issue 40] Hinton: my deep learning career and research mind method; Google refutes rumors and gives up tensorflow; The apotheosis framework is officially open source
Cors: standard scheme of cross domain resource request
8个扩展子包!RecBole推出2.0!
C语言职工管理系统
Personalized online cloud database hybrid optimization system | SIGMOD 2022 selected papers interpretation