VMware虚拟机上如何调试运行DNF

不做任何处理直接在虚拟机中运行,系统蓝了如图:然后咱开始处理了,这东西不难,难的是思路,这里来讲一下,系统蓝屏,调试器又收不到信号,同时用工具检测到,游戏的驱动挂钩了KDCOM.dll:KdReceivePacket//这两个是COM串口的接受和发送数据KDCOM.dll:KdSendPacket//主要用来方式别人双机调试这两个函数同时用IDA检测到使用了KdDisableDebugger来禁用双机调试因此正常的思路是把他们全部恢复过来,禁用KdDisableDebugger十分简单,我不赞同直接修改KdDisableDebugger的代码,反而喜欢直接把调用KdDisableDebugger的代码给NOP掉,至于如何NOP,看完下面的估计你就会的差不多了。首先找到对:KdReceivePacket和KdSendPacketHOOK的代码,这个我是在实体机上找到的,因为在实体机上一挂系统调试器就没法截屏,没有图十分遗憾,抽个空找个照相机照下来,这个以后补上。一下是对这两个函数进行HOOK的代码:找到这两个就好办了,然后挂上双机调试,开启游戏,但是别点登陆,否则系统又蓝了!回到WINDBG,然后下断点,bpnt!IopLoadDriver+0x66a系统不同,下的地址也不同,以前我说过,不在重复最后在给个贴图然后g运行回到虚拟机,登陆游戏吧!一会就中断到调试器中了,进入这个CALL算出它的驱动的基地址这里算出基地址是EE276000然后找到它HOOK的地址输入命令s-bEE276000L500089190F20C00D000001得到如下图然后反汇编ufee27837c得到如下还等什么,把HOOK的位置直接NOP掉就行了然后输入G得到如下所示啊!咋从新启动计算机了,呵呵别着急,因为咱只处理了两个地方,还有个KdDisableDebugger没有处理,即使处理了,游戏也可能检测到系统运行在虚拟机环境中,至于如何不让他重启,且听下回分解!这里先给个思路,驱动中的重启代码根据它就能找到了休息会,找重启代码的就不贴了,下次再贴搞掉重启后系统还是蓝屏,但蓝屏后断下来了,调试器也能收到调试信息,游戏的驱动加载完毕了,VMX_FB出错,初步排除是虚拟机显卡的事情,然后我从网上找了个虚拟机显卡,比较早的,还是VM5的,我这个是是VM7的,没办法,试试呗,

免责声明:本站发布的游戏攻略(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场。
如果本文侵犯了您的权益,请联系站长邮箱进行举报反馈,一经查实,我们将在第一时间处理,感谢您对本站的关注!