当前位置:网站首页>逆向调试入门-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结构中资源表一层套一层。难以手动分析,所以使用工具是最佳选择。
边栏推荐
- Iptables foundation and Samba configuration examples
- Interviewer: what is the difference between redis expiration deletion strategy and memory obsolescence strategy?
- 8 expansion sub packages! Recbole launches 2.0!
- Rsyslog configuration and use tutorial
- Meituan Ali's Application Practice on multimodal recall
- CommVault cooperates with Oracle to provide metallic data management as a service on Oracle cloud
- Using nsproxy to forward messages
- C#基础补充
- Introduction to XML II
- Etcd storage, watch and expiration mechanism
猜你喜欢
实战:fabric 用户证书吊销操作流程
Xue Jing, director of insight technology solutions: Federal learning helps secure the flow of data elements
2022KDD预讲 | 11位一作学者带你提前解锁优秀论文
The only core indicator of high-quality software architecture
Database lock table? Don't panic, this article teaches you how to solve it
Oracle 被 Ventana Research 评为数字创新奖总冠军
It is six orders of magnitude faster than the quantum chemical method. An adiabatic artificial neural network method based on adiabatic state can accelerate the simulation of dual nitrogen benzene der
7 月数据库排行榜:MongoDB 和 Oracle 分数下降最多
Building intelligent gray-scale data system from 0 to 1: Taking vivo game center as an example
【AI系统前沿动态第40期】Hinton:我的深度学习生涯与研究心法;Google辟谣放弃TensorFlow;封神框架正式开源
随机推荐
Introduction to XML II
Oracle 被 Ventana Research 评为数字创新奖总冠军
MySQL three-level distribution agent relationship storage
C#基础补充
"Tips" to slim down Seurat objects
Cann operator: using iterators to efficiently realize tensor data cutting and blocking processing
再说rsync+inotify实现数据的实时备份
[FAQ] summary of common causes and solutions of Huawei account service error 907135701
CANN算子:利用迭代器高效实现Tensor数据切割分块处理
Meituan Ali's Application Practice on multimodal recall
高质量软件架构的唯一核心指标
Zhongang Mining: in order to ensure sufficient supply of fluorite, it is imperative to open source and save flow
「小技巧」给Seurat对象瘦瘦身
Is the outdoor LED screen waterproof?
高效!用虚拟用户搭建FTP工作环境
"Pre training weekly" issue 52: shielding visual pre training and goal-oriented dialogue
诸神黄昏时代的对比学习
C语言课程设计题
Excuse me, have you encountered this situation? CDC 1.4 cannot use timestamp when connecting to MySQL 5.7
安装trinity、解决报错