过TP保护与解除游戏驱动保护(可以借鉴)
TP 是国内腾讯游戏一款比较流行的驱动级保护程序. 负责保护腾讯每款游戏不被修改破坏, 也许大家也是研究腾讯游戏的爱好者,对腾讯的游戏都有过这样的体会 例如OD与CE无法进行如以下操作: 无法附加进程, 无法打开进程, 游戏进程被隐藏无法在工具中查看到, 内存无法读取代码 内存修改后游戏掉线 无法双机进行调试 出现SX非法模块提示 ` 其实以上说的这么多限制 都是因为TP保护造成的.其实这些东西研究了很久后,发现其实就是黑色老大常说的APIHOOK这方面. 7%32E1F)% 例如DNF的TP保护就是HOOK了以下几个API函数来禁止上面刚才说的那些: NtOpenThread //这是TP防止调试器在它体内创建线程 NtOpenProcess //这是TP防止OD等在进程列表看到游戏进程 KiAttachProcess //这是TP防止其他软件附加它 NtReadVirtualMemory //这是TP防止别人读取它的内存 NtWriteVirtualMemory //这是TP防止别人在它的内存里面乱写乱画 KDCOM.dll:KdReceivePacket //这是TP这两个是COM串口的接受和发送数据 KDCOM.dll:KdSendPacket //这是TP主要用来方式别人双机调试,TP使用了KdDisableDebugger来禁用双机调试. TP通过将以上这几个API进行HOOK后 来保护游戏, 看过独立团第四版本易语言辅助教程的人 应该知道 以上的那几个API函数 开头是 Nt 的吧 Nt开头的是ntdll.dll库中的函数,也正是黑色衬衣老大在第四版本易语言辅助教程中有一篇课程是讲 SSDTHOOK与恢复这方面的. 那么TP保护它比较变态,并对debugport进行了疯狂的清零操作甚至还包括EPROCESS+70\+74\+78等几处位置处理的手段通常都是向64端口写入FE导致计算机被重启。 下面我简单看说下以上关键的几个APIHOOK: 1.KiAttachProcess 函数 2.NtReadVirtualMemory 内存函数 3.NtWriteVirtualMemory 内存函数 4.NtOpenThread 线程函数 5.NtOpenProcess 进程函数 那么前3个函数是可以直接SSDT恢复的 第四版本易语言辅助教程老大讲了如何恢复的 不明白的可以自己去看教程。 第4个函数是有监视,如果直接恢复的话电脑会即刻重启.(TP蛮变态) 第5个函数和ring3有驱动通信,直接恢复这个函数的话 游戏会在1分钟内弹出SX非法模块提示. 既然我们现在知道了TP保护的保护特点和这几个API分析后的结果. 接下来就是要做出相应的解除TP保护(也就是这些APIHOOK) 下面我在梳理一下头绪给出相应的解决方案 1.首先直接恢复 第1、2、3处的SSDT表中的HOOK 2.绕过4、5处的HOOK 不采用直接恢复 3.将TP保护程序中的debugport清零的内核线程干掉 停止该线程继续运行. 4.恢复硬件断点 但是要有一个先后的逻辑顺序 因为内核有一个线程负责监视几个地方,必须要先干掉它。 但是这个内容我写在了处理debugport清零的一起,也就是第3步。所以大家在照搬源码的时候注意代码执行次序。 下面我们就开始写解除TP保护的代码,因为本人喜欢C++ 所以是c++编写,如果是使用易语言的话 就自己翻译过来吧 先从简单的工作讲起,恢复1、2、3处的HOOK KiAttachProcess函数的处理的代码:
欢迎大家来我个网站交流学习 网络人编程论坛 http://www.wangluoren.net |
过TP保护与解除游戏驱动保护(可以借鉴)相关推荐
- 过TP保护与解除游戏驱动保护
TP 是国内腾讯游戏一款比较流行的驱动级保护程序. 负责保护腾讯每款游戏不被修改破坏, 也许大家也是研究腾讯游戏的爱好者,对腾讯的游戏都有过这样的体会 例如OD与CE无法进行如以下操 ...
- 过游戏驱动保护_我今年玩过的最好的故事驱动游戏
过游戏驱动保护 2020 has been the year of video games for me. Even leaving aside the global pandemic that's ...
- gg 修改器游戏被保护_某游戏DLL保护分析,以及偷学一点Unity代码保护思路
本人虽然是个手残,却非常喜欢尝试各种音游,即使被虐到爆炸也停不下来. 最近看上一款某渊的音游,它的判定线移动打拍的玩法挺不错的,于是乎又手贱买了,然后被虐到体无完肤. 本着至少要给自己爽一下的原则,就 ...
- 破解XXX游戏驱动保护过程总结
刚刚接触软件破解还有驱动编写,好多东西都不熟,折腾了好久,把中间可能对大家有价值的过程记录下来. 刚开始碰到的问题就是不能内核调试,因为要写驱动,需要用到.一般禁用内核调试都是在驱动里调用KdDi ...
- 易语言编程-手把手教你解除游戏保护-让CE可搜索读写游戏进程内存数据
1. 游戏进程为什么无法读写内存数据,CE工具为何不能搜索数据? 答案:因为被保护起来了 2. 游戏图标为什么不显示? 答案:因为被保护起来了 3. 如何解除游戏进程保护,从而CE工具 以及 ...
- 最新零基础C++逆向辅助+过驱动保护+lua
最新零基础C++逆向辅助+过驱动保护+lua 地址:资源共享吧 最新零基础C++逆向辅助+过驱动保护+lua-资源共享吧-专业共享VIP视频 最新零基础C++逆向辅助+过驱动保护+lua https: ...
- 日服巫术online过驱动保护分析(纯工具)(工具+自写驱动)
前言: 最近在学外挂编程,基本都是利用CE,OD调试分析游戏数据,但现在游戏公司用各种保护手段防止我们调试游戏,虽然我们有CE,OD这样的利器但是仍然被游戏驱动保护挡在门外i,真可谓巧妇也难为无米之炊 ...
- 【转】日服巫术online过驱动保护分析(纯工具)(工具+自写驱动)
前言: 最近在学外挂编程,基本都是利用CE,OD调试分析游戏数据,但现在游戏公司用各种保护手段防止我们调试游戏,虽然我们有CE,OD这样的利器但是仍然被游戏驱动保护挡在门外i,真可谓巧妇也难为无米之炊 ...
- 过 DNF TP 驱动保护(一)
文章目录: 01. 博文简介: 02. 环境及工具准备: 03. 分析 TP 所做的保护: 04. 干掉 NtOpenProcess 中的 Deep InLine Hook: 05. 干掉 NtOpe ...
最新文章
- 使用技巧_信用卡的使用技巧
- 可能存在无限递归_做事永远无头无尾?人生中的递归现象
- 设计模式学习(二): 观察者模式 (C#)
- 云炬随笔20190301
- mysql udb_将Uhost上的MySQL迁移到UDB
- Java 结构体之 JavaStruct 使用教程三 JavaStruct 数组进阶
- C# 中? 和 ?? 在变量中的使用
- 【Oracle】Oracle基本数据类型总结
- error while loading shared libraries: libxx.so: cannot open shared object file: No such file
- ADC模数转换(XPT2046)
- 计算机考试outlook怎么发邮件,outlook怎么用,教您outlook使用方法
- imagemagick使用_使用ImageMagick裁剪和调整图像大小
- QQ客户端管理聊天记录漫游功能 | 解决经常弹窗消息漫游安全验证,QQ服务独立密码的问题
- 在vscode中配置和使用sass
- python实现-决策树2-sklearn
- RIP1实验1(实现不同路由器 不同PC机之间的通信)
- 【原理】#01红外热成像仪的工作原理介绍
- 三极管NPN在开关电路中的应用
- 毛笔字体设计 让经典字体焕然新生
- MomentJs 常用api
热门文章
- cft-wp-百度杯CTF比赛 九月场(upload)
- 循序渐进,QAD ERP 为DHAC “赋能”未来
- Windows下利用命令行添加打印机
- 联机斗地主小游戏(Java) 源代码及软件开发过程
- 【python】将代码打包为软件(pipenv+pyinstaller)
- 联想笔记本出厂预装Windows 8系统机型改装Windows 7系统的操作步骤及常见问题(转自联想官网)
- 三星超级本530u3c重装系统。。
- 团结就是力量计算机音乐谱,团结就是力量歌谱 《团结就是力量》的歌词,乐谱...
- python:实现十进制转二进制算法(附完整源码)
- vue打印兼容xp32位系统/vue的打印功能