学习VM上运行dnf(整理)

选自http://bbs.pediy.com/showthread.php?t=129810&highlight=dnf

本文是对该文章进行一些整理加自己的思考和提问 以便在日后的学习中带着问题去学

1.dnf上HOOK了三个函数,无法再虚拟机上使用,游戏一旦加载驱动直接蓝屏。

 

2.系统蓝屏,调试器又收不到信号,同时用工具检测到,游戏的驱动挂钩了,用IDA检测到使用了KdDisableDebugger来禁用双机调试


3.正常的思路是把他们全部恢复过来,即禁用KdDisableDebugger

 

4.作者不赞同直接修改KdDisableDebugger的代码,反而喜欢直接把调用KdDisableDebugger的代码给NOP掉

 

5.首先找到对:KdReceivePacket 和 KdSendPacket   HOOK的代码,在实体机上找   ;如何找 为何找

 

6.然后挂上双机调试,开启游戏,但是别点登陆,否则系统又蓝了!

7.回到WINDBG,然后下断点,bp          nt!IopLoadDriver+0x66a                        ;为什么是nt!IopLoadDriver+0x66a
  

 

8.然后g 运行 回到虚拟机,登陆游戏 一会就中断到调试器中

 

9.发现中断处是一个call 进入该call

 

10.算出它的驱动的基地址 设为EE276000                             ;怎么算的

11.然后找到它HOOK的地址
输入命令
s -b EE276000 L5000 89 19 0F 20 C0 0D 00 00 01

12.反汇编uf ee27837c

13.HOOK的位置直接NOP掉就行了                           ;如何知道哪里是hook

14.输入 g  发现重新启动


15.目前只处理了两个地方,还有个KdDisableDebugger

16.作者没有处理 给了个思路,驱动中的重启代码    ;好了 至此彻底看不懂 有需要朋友的可以看原版

  系统不同,下的地址也不同

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值