尝试用studyPE和x32dbg修改.exe文件01

9 篇文章 0 订阅
7 篇文章 0 订阅

标题尝试用studyPE和x32dbg修改.exe文件01

首先,准备一个exe文件,这里我使用自己用c++编写的exe文件,在程序中调用了LoadLibraryA函数动态加载dll文件,并使用GetProcAddress函数查询dll文件中的函数。采用这样的动态加载是为了简化试验过程,通常情况下,由于程序启动时会有地址重定位,因此,修改非动态加载的地址会比较繁琐。下面是源程序,编译后生成的程序就是我们的试验目标exe程序:
在这里插入图片描述
下面,启动x32dbg.exe,并点文件->打开,打开上面生成的exe文件;如图:
在这里插入图片描述
然后,点击窗口上的“符号”,并点选程序的主线程:
在这里插入图片描述
双击主线程会切换到cpu视图:
在这里插入图片描述
注意到上图下面的红色框,$1000是虚拟偏移地址,#400文件内偏移地址,有了这两个地址后就有可能有针对的修改。
再次,注意到上方的函数调用,如图:
在这里插入图片描述
第一条call上的一条指令push theconsoletest2.EF210C,这是传入函数参数,类似theconsoletest2.EF210C这样的文件名+点号+地址的是静态的参数,应是预先设定好值的;第二条call上有两条push指令,且其中一条静态的,另一条push eax是动态的,eax应存有上一条函数的返回值,这两条push都是给函数传入参数。
然后查看push指令后的参数,这是一个地址,分析参数的偏移地址:分别为210C和211C,这是虚拟偏移地址。
在这里插入图片描述
右键点击push的汇编指令,使用“在内存窗口中转到”,转到210C:
在这里插入图片描述
观察内存窗口,可以看到实际的数据:
在这里插入图片描述
接下来打开stud_PE,载入exe文件,点击“section”,然后右键点击窗口,用右键命令添加新节,添加好后保存,并记住新节的偏移地址。
在这里插入图片描述
再次用x32dbg打开exe文件:
在这里插入图片描述
并右键点击cpu的汇编窗口,使用“转到->文件偏移”命令转到新节:
在这里插入图片描述
新节用于填充自己的程序:
在这里插入图片描述
用右键点击,使用二进制编辑。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_40793198

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值