1 / 21
文档名称:

过tp保护的基本方案.doc

格式:doc   大小:373KB   页数:21页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

过tp保护的基本方案.doc

上传人:1557281760 2021/12/22 文件大小:373 KB

下载得到文件列表

过tp保护的基本方案.doc

相关文档

文档介绍

文档介绍:过TP保护的基本方案
过TP保护的基本方案
过TP保护的基本方案
过TP保护分析过程~【转帖】
本文只为研究技术,请所有童鞋切勿使用本文之方法做下那天理难容罪恶不舍之坏事。
既是研究游戏保护,那么总要有一个研究对象。本文就以TMD_TP这款游戏保护为例进行分析讲解。请勿对号入座,如有雷同之处。纯属反汇编引擎之错误,不关我的事!
转载请注明出处
关键字:DNF 驱动保护
鉴于最近很多同学找上门来求解这那问题,反正这东西又不是绝密档案,放在我手里大半个月了,还不如放出来让大家一起进步算了。另外都是取之看雪还之看雪罢了。
索性我也就公布一个全套的方案。绝无其他意思,所以还请同道中人嘴下留情。切勿背地使坏!
在正式开篇之前我要感谢看雪ID:十年寒窗 在我最困惑的时候,他给予了最大的帮助!另外还有一位和我同岁的神秘人物也给予了不小的帮助,感谢你们。
废话了半天,正式开始吧。
tmd_TP也就是国内比较流行的游戏D_N*F的游戏保护。
它在ring0层一共HOOK了几个地方和一些其他的工作。来达到保护的目的
下面是简报:
[url=javascript:]复制代码[/url]
NtOpenThread //防止调试器在它体内创建线程
NtOpenProcess //防止OD等在进程列表看到它
KiAttachProcess //防止其他软件附加它
NtReadVirtualMemory //防止别人读取它的内存
NtWriteVirtualMemory //防止别人在它的内存里面乱写乱画
:KdReceivePacket //这两个是COM串口的接受和发送数据
:KdSendPacket //主要用来方式别人双机调试
使用了KdDisableDebugger来禁用双机调试
代码: [url=javascript:]复制代码[/url]
.text:010025F0 jz short loc_1002622
.text:010025F2 call sub_10022A4
.text:010025F7 call ds:KdDisableDebugger
.text:010025FD push offset byte_10022EC
.text:01002602 push esi
.text:01002603 push offset byte_10022DC
.text:01002608 push edi
.text:01002609 push dword_100CF24
过TP保护的基本方案
过TP保护的基本方案
过TP保护的基本方案
并对debugport进行了疯狂的清零操作
甚至还包括EPROCESS+70\+74\+78等几处位置
图片:
处理的手段通常都是向64端口写入FE导致计算机被重启
代码: [url=javascript:]复制代码[/url]
.text:01001665 mov al, 0FEh
.text:01001667 out 64h, al ; AT Keyboard controller 8042.
.text:01001667 ; Resend the last transmission
.text:01001669 popa
.text:0100166A retn
下面简单看下他关键的几个HOOK:
KiAttachProcess
过TP保护的基本方案
过TP保护的基本方案
过TP保护的基本方案
图片:
NtReadVirtualMemory
图片:
NtWriteVirtualMemory
图片:
NtOpenThread