当前位置:网站首页>PE文件-手工修改重定位表-WinHex-CFF Explorer
PE文件-手工修改重定位表-WinHex-CFF Explorer
2022-08-08 12:25:00 【插件开发】
1.CFF Explorer
如果需要修改exe,dll等的二进制代码,遇到添加绝对地址时,需要将绝对地址的位置添加进重定位表,确保添加代码的正确。那如何手工添加?首先需要了解重定位表在PE文件中的解析,本文默认读者具有这方面功底。
先采用CFF Explorer打开目标文件,找到重定位表,如下图所示;
2.计算添加后的重定位大小
白色部分是可以修改的,灰色部分不能,由此可见,CFF Explorer是可以修改重定位表的,但是不能直接增加一个新的表单元及表项的。这时就必须进行二进制的修改。首先必须计算添加后的重定位表大小,如本文增加一个表含两项和在一个已知表中增加一项,就是一共增加0x0E个字节。修改如下位置:
这里推荐的工具是WinHex,这个工具比较强大(也可以用CFF Explorer修改)。

将地址3A04中表示个数的数据增加一个表项(注意字节是2个,所以要变成74)。如下所示:
接着找到下一个表头位置,地址是3B72,复制整块数据,向后移动两个位置。然后空出来的两个位置改为0,并复制前面两个字节。这样添加一个表项的工作就已经完成。如下图所示:
然后是增加一个表项,虚拟地址是3000,大小是12,目标地址是3200。定位到重定位表末尾地址3B98。写入对应的起始地址,大小和项(注意如果相对虚拟地址,没有这么大,这么改是没有意义的)如下图所示:
3.作者答疑
如有疑问,敬请留言。
边栏推荐
- TF-GNN踩坑记录(一)
- (原创)[C#] GDI+ 之鼠标交互:原理、示例、一步步深入、性能优化
- 【C语言】文件相关操作
- 关于微信小程序体验版获取不到openId的问题
- 一文搞懂│XSS攻击、SQL注入、CSRF攻击、DDOS攻击、DNS劫持
- 8/7 牛客6+div2D+倍增lca
- 【C语言】自定义类型详解:结构体、枚举、联合
- Kunpeng Developer Creation Day 2022: Kunpeng Full-Stack Innovation and Developers Build Digital Hunan
- 华中科大提出VGNetG:“不做选择,全都要”轻量化主干网络!
- 作为一个年薪50W阿里P7架构师的必备知识:并发+JVM+多线程+Netty+MySQL
猜你喜欢

论文阅读《Omnidirectional DSO: Direct Sparse Odometry with Fisheye Cameras》

Program Environment and Preprocessing

xxd命令(反编译、二进制文件转十六进制文件)

The programmer essential VS debugging technique

Jenkins - 持续集成介绍(1)

MySQL----索引

Combining "xPlus" to discuss the innovation and change of software architecture

期货开户的交易通道和后续服务

qsort 函数的使用及其模拟实现

In-depth analysis of the soul of C language -- pointer
随机推荐
MySQL database storage series (5) the InnoDB storage format
指针和数组笔试题解析
萤石、小米对垒智能摄像头
字节也开始缩招了...
SSTI漏洞介绍认识(flask、Werkzeup)
node中package解析、npm 命令行npm详解,node中的common模块化,npm、nrm两种方式查看源和切换镜像
宏任务和微任务——三目算符与加号优先级——原生的js如何禁用button——0xff ^ 33 的结果是——in的用法——正则匹配网址
简析LDO静态电流与功耗的关系
Geoffrey Hinton:深度学习的下一个大事件
【SSR服务端渲染+CSR客户端渲染+post请求+get请求+总结】三种开启服务器的方法总结
ctfshow 七夕杯(复现)
是不是只有字符串的数字水印能一直保留并且不影响计算,其他类型的字段导入数据库之后水印就会丢失?
Some optional strategies and usage scenarios for PWA application Service Worker caching
Jenkins - install (2)
.NET Community Toolkit 8.0.0 版本发布
安科瑞预付费水电集团物业解决方案-Susie 周
shell基础知识合集
PM2 入门(二)
MYSQL 的 MASTER到MASTER的主主循环同步
xxd命令(反编译、二进制文件转十六进制文件)