当前位置:网站首页>逆向调试入门-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结构中资源表一层套一层。难以手动分析,所以使用工具是最佳选择。
边栏推荐
- Don't turn down, three sentences to clarify the origin of cross domain resource request errors
- C#/VB. Net to add text / image watermarks to PDF documents
- Interviewer: what is the difference between redis expiration deletion strategy and memory obsolescence strategy?
- Web知识补充
- 一个数据人对领域模型理解与深入
- Meituan Ali's Application Practice on multimodal recall
- Read the BGP agreement in 6 minutes.
- iptables基础及Samba配置举例
- Scrapy 框架学习
- 提高MySQL深分页查询效率的三种方案
猜你喜欢
高效!用虚拟用户搭建FTP工作环境
实时云交互如何助力教育行业发展
Building intelligent gray-scale data system from 0 to 1: Taking vivo game center as an example
7 月数据库排行榜:MongoDB 和 Oracle 分数下降最多
CA: efficient coordinate attention mechanism for mobile terminals | CVPR 2021
Dgraph: large scale dynamic graph dataset
Cann operator: using iterators to efficiently realize tensor data cutting and blocking processing
When MDK uses precompiler in header file, ifdef is invalid
JVM series - stack and heap, method area day1-2
Etcd storage, watch and expiration mechanism
随机推荐
Runc hang causes the kubernetes node notready
Reinforcement learning - learning notes 1 | basic concepts
[FAQ] summary of common causes and solutions of Huawei account service error 907135701
Apache server access log access Log settings
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)
实战:fabric 用户证书吊销操作流程
"Pre training weekly" issue 52: shielding visual pre training and goal-oriented dialogue
字节面试算法题
C语言程序设计
《预训练周刊》第52期:屏蔽视觉预训练、目标导向对话
WPF double slider control and forced capture of mouse event focus
Is the outdoor LED screen waterproof?
C语言小型商品管理系统
Interviewer: what is the difference between redis expiration deletion strategy and memory obsolescence strategy?
PostgreSQL 9.1 飞升之路
Xilinx/system-controller-c/boardui/ unable to connect to the development board, the solution of jamming after arbitrary operation
C foundation in-depth study I
Optional values and functions of the itemized contenttype parameter in the request header
. Net using redis
A data person understands and deepens the domain model