刚刚接触软件破解还有驱动编写,好多东西都不熟,折腾了好久,把中间可能对大家有价值的过程记录下来。


 
刚开始碰到的问题就是不能内核调试,因为要写驱动,需要用到。一般禁用内核调试都是在驱动里调用KdDisableDebugger,往上回溯一个函数,基本上就是驱动检测禁用是否成功的代码,否则就是一个循环不停的调用KdDisableDebugger函数。 
 
 
我的做法是修改KdDisableDebugger代码,这样不管什么时候被调用到,内核调试都不能被禁用,无非就是驱动那个死循环会导致机器卡死罢了,在KdDisableDebugger上设置一个断点,中断后,就把KdDisableDebugger和驱动的代码都改掉,然后禁用断点,继续内核的执行。我用的是下面这个命令做这段话说的事情: 
 
 
 
bp KdDisableDebugger"eb nt!KdDisableDebugger+26 75;eb nt!KdDisableDebugger+41 75;ebTesSafe+5069 74;eb TesSafe+2703 75;bd 0;g"


然后就是把驱动里hook的函数恢复,为了找到内核ssdt表里被hook的函数,看了网上的资料,有工具可以做这个事情,一是那些工具我都没有用过,不大会用,二是我想把内核里具体被inline hook的地址找出来,所以我就用了下面这个windbg脚本做这个事情,运行脚本之前需要记下eax, ebx, ecx的值,等脚本运行完成以后恢复。当然也可以用windbg里的伪寄存器,但是语法还有点不熟,就直接用现成的寄存器了,在启动游戏之前,先dump一下: 
.logopen c:\logs\beforehook.txt  # 因为dump出来的东西比较多,就放到一个log里 
r ebx = 0                        # 计数器 
 
 
# 遍历ssdt表,把里面每个函数的汇编代码都dump出来,因为不知道每个函数的大小,所以每个函数都dump 1000行。 
r ecx=poi(nt!KeServiceDescriptorTable) 
.for (r eax=ecx;@eax < ecx+0x474; reax=eax+4; rebx=ebx+1) { r ebx; u poi(@eax) L1000}  
 
 
# 保存log 
.logclose 
 
 
接下来,游戏启动之后,再dump一次,用kdiff3做个对比就知道哪些函数被修改过了。


看到被hook的函数以后,加上网上的资料,主要是参考看雪里的这篇资料: 
http://bbs.pediy.com/showthread.php?t=126802


但是悲剧的是,有的时候修改了TX的代码,机器直接就重启了,参考看雪里另外一篇文章,把重启这个问题也解决了: 
http://bbs.pediy.com/showthread.php?t=129810&highlight=DNF


很多都是大侠们已经研究了很透的东西,只是我比较愚笨,花了很多时间才搞明白整个过程,完整驱动的代码可以在我这个求助帖里找到: 
http://www.ghoffice.com/bbs/read-htm-tid-91059.html

破解XXX游戏驱动保护过程总结相关推荐

  1. 过游戏驱动保护_我今年玩过的最好的故事驱动游戏

    过游戏驱动保护 2020 has been the year of video games for me. Even leaving aside the global pandemic that's ...

  2. 过TP保护与解除游戏驱动保护

     TP 是国内腾讯游戏一款比较流行的驱动级保护程序.  负责保护腾讯每款游戏不被修改破坏,     也许大家也是研究腾讯游戏的爱好者,对腾讯的游戏都有过这样的体会  例如OD与CE无法进行如以下操 ...

  3. 过TP保护与解除游戏驱动保护(可以借鉴)

    TP 是国内腾讯游戏一款比较流行的驱动级保护程序.  负责保护腾讯每款游戏不被修改破坏,     也许大家也是研究腾讯游戏的爱好者,对腾讯的游戏都有过这样的体会  例如OD与CE无法进行如以下操作:  ...

  4. 日服巫术online过驱动保护分析(纯工具)(工具+自写驱动)

    前言: 最近在学外挂编程,基本都是利用CE,OD调试分析游戏数据,但现在游戏公司用各种保护手段防止我们调试游戏,虽然我们有CE,OD这样的利器但是仍然被游戏驱动保护挡在门外i,真可谓巧妇也难为无米之炊 ...

  5. 【转】日服巫术online过驱动保护分析(纯工具)(工具+自写驱动)

    前言: 最近在学外挂编程,基本都是利用CE,OD调试分析游戏数据,但现在游戏公司用各种保护手段防止我们调试游戏,虽然我们有CE,OD这样的利器但是仍然被游戏驱动保护挡在门外i,真可谓巧妇也难为无米之炊 ...

  6. 最新零基础C++逆向辅助+过驱动保护+lua

    最新零基础C++逆向辅助+过驱动保护+lua 地址:资源共享吧 最新零基础C++逆向辅助+过驱动保护+lua-资源共享吧-专业共享VIP视频 最新零基础C++逆向辅助+过驱动保护+lua https: ...

  7. 易语言x64驱动保护防检测破解注入内存读写(支持win7win10全系统)

    现在很多游戏会检测工具,辅助, 如果我们对工具或者辅助进行保护起来,也像游戏一样阻止各种操作访问检测, 就可以让游戏检测不到避免封号. 或者防止同行盗取自己辅助里的数据信息,破解自己的辅助等行为! b ...

  8. QQ游戏系列(寻仙,DNF等等)驱动保护TesSafe.sys

    QQ游戏系列(寻仙,DNF等等)驱动保护TesSafe.sys &V~l(1  1.用RKU看一下SSDT和SSDTShadow,发现SSDT并没有被HOOK,SSDTShadow HOOK了 ...

  9. 【梅哥的Ring0湿润插入教程】【番外篇四】抓取盛大GPK驱动保护文件及简略逆向...

    [梅哥的Ring0湿润插入教程] Email:mlkui@163.com 转载请注明出处,谢绝喷子记者等,如引起各类不适请自觉滚J8蛋! 番外篇四:抓取盛大GPK驱动保护文件及简略逆向 [湿润前言] ...

最新文章

  1. 数据结构实验之二叉树四:(先序中序)还原二叉树
  2. MyBatis中提示:invalid comparison: java.util.LinkedHashMap and java.lang.String
  3. WebApplicationContext初始化
  4. 原生态Vim使用快捷键
  5. 【2016计概A期末】照亮房间
  6. 监控主机安装需要材料
  7. leetcode 316. 去除重复字母(单调栈)
  8. 【学习笔记】结合代码理解设计模式 —— 代理模式(静态代理、动态代理、延伸)
  9. 基于网络索引树的异常轨迹检测算法
  10. php 随机数 名称,php – 从标题更改为随机数
  11. popular net
  12. java 组件更新,java – 我可以批量处理一些Swing组件更新,以便重绘全部一次完成吗?...
  13. java缓冲流和普通流的区别_关于java:数据输入/输出流和缓冲的输入/输出流有什么区别?...
  14. skyline 系列 1 - 简介、下载
  15. c语言程序设计新教材,《C语言程序设计》教学大纲(新)教材.doc
  16. somachine3.1 注册
  17. 微信管理软件哪个比较不错
  18. 第二课 介绍:手绘墙画颜料选择
  19. Android 解决XXX Layout leaked 使用Navigation 踩坑 XML内存泄漏
  20. matlab中多元线性回归regress函数精确剖析(附实例代码)

热门文章

  1. OMAP4开发资源总结
  2. Java基础以及一些面试必备的基础知识点整理
  3. ant压缩在哪卸载_如何彻底卸载流氓软件?一篇教你彻底解决!
  4. NC下了垃圾流氓软件,卸载后鼠标右键有残留
  5. 中国电脑教育报:网上开店与购物秘籍
  6. 计算机等级考试office2007,计算机等级考试:WPS巧借Office2007制作描红字帖
  7. IT-标准化-系列-9.在VPC 2007中安装应用软件
  8. h5 微信分享和踩坑指南
  9. 耦合式是什么意思_耦合是什么意思通俗点(耦合摆原理)
  10. VINS学习(二)IMU预积分原理与实现