龙马谷

 找回密码
 立即注册

QQ登录

只需一步,快速开始

龙马谷VIP会员办理客服QQ:82926983(如果临时会话没有收到回复,请先加QQ好友再发。)
1 [已完结] GG修改器新手入门与实战教程 31课 2 [已完结] GG修改器美化修改教程 6课 3 [已完结] GG修改器Lua脚本新手入门教程 12课
4 [已完结] 触动精灵脚本新手入门必学教程 22课 5 [已完结] 手游自动化脚本入门实战教程 9课 6 [已完结] C++射击游戏方框骨骼透视与自瞄教程 27课
7 [已完结] C++零基础UE4逆向开发FPS透视自瞄教程 29课 8 [已完结] C++零基础大漠模拟器手游自动化辅助教程 22课 9 [已完结] C++零基础开发DXF内存脚本辅助教程 32课
以下是天马阁VIP教程,本站与天马阁合作,赞助VIP可以获得天马阁对应VIP会员,名额有限! 点击进入天马阁论坛
1 [已完结] x64CE与x64dbg入门基础教程 7课 2 [已完结] x64汇编语言基础教程 16课 3 [已完结] x64辅助入门基础教程 9课
4 [已完结] C++x64内存辅助实战技术教程 149课 5 [已完结] C++x64内存检测与过检测技术教程 10课 6 [已完结] C+x64二叉树分析遍历与LUA自动登陆教程 19课
7 [已完结] C++BT功能原理与x64实战教程 29课 8 [已完结] C+FPS框透视与自瞄x64实现原理及防护思路
查看: 5977|回复: 0

散谈驱动过游戏保护TP那点事+源码

[复制链接]

25

主题

1

回帖

37

积分

编程入门

Rank: 1

龙马币
108

  声明:本文只为研究技术,请所有童鞋切勿使用本文之方法做下那天理难容罪恶不舍之坏事。

   既是研究游戏保护,那么总要有一个研究对象。本文就以TMD_TP这款游戏保护为例进行分析讲解。请勿对号入座,如有雷同之处。纯属反汇编引擎之错误,不关我的事!

   关键字:DNF 驱动保护

tmd_TP也就是国内比较流行的游戏D_N*F的游戏保护。
它在ring0层一共HOOK了几个地方和一些其他的工作。来达到保护的目的

下面是简报:

NtOpenThread //防止调试器在它体内创建线程
NtOpenProcess //防止OD等在进程列表看到它
KiAttachProcess //防止其他软件附加它
NtReadVirtualMemory //防止别人读取它的内存
NtWriteVirtualMemory //防止别人在它的内存里面乱写乱画
KDCOM.dll:KdReceivePacket //这两个是COM串口的接受和发送数据
KDCOM.dll:KdSendPacket //主要用来方式别人双机调试

使用了KdDisableDebugger来禁用双机调试
  1. .text:010025F0                 jz      short loc_1002622
  2. .text:010025F2                 call    sub_10022A4
  3. .text:010025F7                 call    ds:[COLOR=magenta]KdDisableDebugger
  4. .text:010025FD                 push    offset byte_10022EC
  5. .text:01002602                 push    esi
  6. .text:01002603                 push    offset byte_10022DC
  7. .text:01002608                 push    edi
  8. .text:01002609                 push    dword_100CF24
复制代码


并对debugport进行了疯狂的清零操作
甚至还包括EPROCESS+70\+74\+78等几处位置
1.jpg

处理的手段通常都是向64端口写入FE导致计算机被重启
  1. .text:01001665                 mov     al, 0FEh
  2. .text:01001667                 out     64h, al         ; AT Keyboard controller 8042.
  3. .text:01001667                                         ; Resend the last transmission
  4. .text:01001669                 popa
  5. .text:0100166A                 retn
复制代码



下面简单看下他关键的几个HOOK:
KiAttachProcess   
2.jpg

NtReadVirtualMemory  
3.jpg

NtWriteVirtualMemory  
4.jpg

NtOpenThread
5.jpg

NtOpenProcess
6.jpg

其中,前3个直接恢复即可。
第4个有监视,直接恢复即刻重启
第5个和ring3有通信,直接恢复1分钟内SX非法模块

游客,如果您要查看本帖隐藏内容请回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

龙马谷| C/C++辅助教程| 安卓逆向安全| 论坛导航| 免责申明|Archiver|
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表龙马谷立场!
任何人不得以任何方式翻录、盗版或出售本站视频,一经发现我们将追究其相关责任!
我们一直在努力成为最好的编程论坛!
Copyright© 2018-2021 All Right Reserved.
在线客服
快速回复 返回顶部 返回列表