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

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

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

首先,准备一个exe文件,这里我使用自己用c++编写的exe文件,在程序中调用了LoadLibraryA函数动态加载dll文件,并使用GetProcAddress函数查询dll文件中的函数。采用这样的动态加载是为了简化试验过程,通常情况下,由于程序启动时会有地址重定位,因此,修改非动态加载的地址会比较繁琐。下面是源程序,编译后生成的程序就是我们的试验目标exe程序:
在这里插入图片描述
下面,启动x32dbg.exe,并点文件->打开,打开上面生成的exe文件;如图:
在这里插入图片描述
然后,点击窗口上的“符号”,并点选程序的主线程:
在这里插入图片描述
双击主线程会切换到cpu视图:
在这里插入图片描述
注意到上图下面的红色框,$1000是虚拟偏移地址,#400文件偏移地址,有了这两个地址后就有可能有针对的修改。但在x32dbg中难于修改,因为程序在壳中运行,地址都经过了重定位。我们需要另外的软件studyPE来进行静态修改。
再次,注意到上方的函数调用,如图:
在这里插入图片描述
第一条call上的一条指令push theconsoletest2.EF210C,这是传入函数参数,类似theconsoletest2.EF210C这样的文件名+点号+地址的是静态的参数,应是预先设定好值的;第二条call上有两条push指令,
且其中一条静态的,另一条push eax是动态的,eax应存有上一条函数的返回值,这两条push都是给函数传入参数。
然后查看push指令后的参数,这是一个地址,分析参数的偏移地址:分别为210C和211C,这是虚拟偏移地址。
在这里插入图片描述
打开studyPE程序,载入exe文件,如图:
在这里插入图片描述
下面,我们用studyPE来进行静态修改:
点击红色框的按钮来查找相应地址处的值:可以替换成其他的,也可以添加另外的。
在这里插入图片描述
我只是初初学会,这里只是试验,不是大佬,离高手还有一段距离,谢谢读文。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

qq_40793198

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

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

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

打赏作者

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

抵扣说明:

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

余额充值