PE实战教程之空白节添加代码

好就没看过pe了,做几个简单的实验复习一下pe知识,今天来实现一下空白姐添加代码,实现弹出Messagebox。

注意:
1.本文作为复习原理所用,仅实现了最简单的添加代码,并没有写入shellcode,算的地址也仅在本机有效。
2.若发现地址rva在调试时,对应不上,可尝试关闭aslr解决

如何弹出MessageBox

首先我们先要看,如何实现一个MessageBox弹窗。
如果想要调用messagebox,可以看到下面的代码,就是push 参数,call函数地址。
在这里插入图片描述

空白区添加代码

实现原理

修改程序入口(OEP),跳转到我们写代码的空白区,然后执行我们的代码,最后在跳回到原oep跳转地址。
听起来很像hook。

实现步骤

1.寻找OEP所对应的文件偏移位置
2在文件中修改OEP的指向,指向我们的空白区
3.空白区添加我们的代码
4.跳回原oep指向的地址

1.寻找OEP所对应的文件偏移位置.

我们要修改OEP指向的话,那么首先就要找到OEP所在的位置

第一种方法:通过rva和va计算

首先随便找一个exe文件,查看扩展头中OEP RVA 以及 ImageBase, 并且换算出属于哪个节.并且转换为文件偏移。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值