借助windbg在winmine(扫雷)程序中直接获胜

实验材料:XP(x86)专业版SP3 虚拟机、对应的XP符号文件安装包、windbg(x86)、winmine

这个实验的思路是直接修改扫雷程序的指针,将指针指向Gameover函数,从而达到直接获胜的目的。

一、先打开windbg,点击Open Executable
在这里插入图片描述
二、选择winmine(扫雷)程序,点击打开
在这里插入图片描述
三、设置一下符号路径,输入
.sympath SRVc:\symbolshttps://msdl.microsoft.com/download/symbols,之后再输入!Sym noisy将windbg设置为输出更多的信息,最后输入
.reload /f重新加载符号,可以看到,由于微软的符号服务器被墙,下载不了缓存文件。
在这里插入图片描述
四、提取离线安装包中的符号,把对应的pdb文件复制到windbg需要的文件夹中。这个文件夹的位置可由.reload失败之后的输出信息中得到,如ntdll.pdb应当放到c:\symbols\ntdll.pdb\1751003260CA42598C0FB326585000ED2中
在这里插入图片描述
这样的文件有很多,这里我就只放了winmine.pdb和ntdll.pdb。

五、输入lm,可以看到winmine和ntdll已经被找到了。
在这里插入图片描述
六、输入g,让程序运行起来,再按下break中断一下程序。
在这里插入图片描述
七、输入x winmine!*over*,寻找那个让游戏结束的函数,x命令是检查符号的意思,可以看到函数的地址是0100347c。
在这里插入图片描述
八、输入~*,显示所有的线程,
再输入~0s,切换到0号线程。0号线程就是扫雷的线程。
在这里插入图片描述
九、输入r eip=0100347c ,r是修改寄存器的意思,eip是程序指针的意思。这段代码的意思就是将程序指针指向GameOver函数。
在这里插入图片描述
十、输入g,将窗口切换到扫雷程序,可以看到游戏已经弹出了破纪录对话框。
在这里插入图片描述
完结!

XPx86专业版SP3符号文件
下载地址:https://pan.baidu.com/s/1SNCw8lrCpM9PuPQxiHstKw 提取码:5rgp

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值