【精品】诛仙多开分析文档

【精品】诛仙多开分析文档

ID:47618734

大小:638.70 KB

页数:16页

时间:2019-10-11

【精品】诛仙多开分析文档_第1页
【精品】诛仙多开分析文档_第2页
【精品】诛仙多开分析文档_第3页
【精品】诛仙多开分析文档_第4页
【精品】诛仙多开分析文档_第5页
资源描述:

《【精品】诛仙多开分析文档》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、诛仙多开分析文档(WrittenBy:CoffeeTea11/9/07)不知怎么开篇,直接入正题。诛仙的多开检测,大致分为两个阶段,第一阶段是检测窗口标题和类名,通过系统函数GetWindowTextA,GetClassNameA获取窗口标题及类名,当累计检测数人于等于5时,会随机断开一个连接(断开提示:与服务器连接屮断,请重新登录)。第二阶段是检测窗口类名和进程名,通过系统函数GetClassNameA,Process32Next获取窗口类名和进程信息,当累计检测数大于等于5时,会随机断开一个连接。在第一阶段

2、,町以通过修改游戏主程序屮,存放的类名字符串和标题字符串來达到跳过检测,可以用UltraEdit32或WinHEX打开游戏的elementclient.exe,搜索"ZelemenlClientWindow"和uElementClient"的UNICODE码来找到该位置,将这两个字符串任意修改即讥在后來,加强了对多开的检测,会要求各客户端返回正确的窗口标题和类名,一但是修改过的,会采取封号及掉线的方法惩罚该号。这个时候,需要通过APIHOOK的方式,HOOKGe(WindowTex(A及GetClassName

3、A来实现多开,APIHOOK的原理,就是在程序调用系统函数的时候,先一步进入到我们自己的处理函数,视悄况处理数据,欺骗检测。当要获取的窗口句柄时当前游戏'窗口时,我们就返回正确的字符串,而是其它游戏窗口时,就返回其它字符串。在笫二阶段,此时,不仅针对游戏窗口标题和类名,口遍历系统进程,获取游戏进程个数来检测多开,使用CreateToolhelp32Snapshot函数创建进程快照,使用Process32First,Proccss32Ncxt循环快照句柄的链表结构获取进程相关信息。依然使用GctTopWindow

4、,GetWindow,GetWindowTextA,GetClassNameA来获取窗Fl相关信息。这个吋候,通过HOOKGetClassNameA和Process32Next即可达到多开的目的。此后,好景不长,诛仙增加了对APIHOOK方式的检测,对Process32Next这个函数的第一字节进行了EX,E9的检测,通过机器码转换汇编码,可以知道,E8是call的机器码,即APIHOOK方式小的--种,改API函数头5字节,转到我们占己的函数的方法。而E9是jmp的机器码,也是一种APIHOOK的方法,都是为

5、了转到我们口己的函数去处理。于是,采用jmpcall來HOOK的方式失效了,然后出现了很多种对API函数头做修改的方法,例如以卜•儿种:moveax,OxXXXXXXXXjmpcax或callcax;将自己函数的入口写入eax寄存;转入自己的函数执行操作pushOxXXXXXXXXretn;将自己函数的入口压入堆栈;转入自己的函数执行xorcax,caxpushOxXXXXXXXXpopeaxjmpeax;EAX清零;还是将白己的函数入口压栈;将自己的函数入口推出到EAX;转入口己的函数执行更冇甚者,模拟API

6、函数头,movedi,edipushebpmovebp,esp比如Proccss32Ncxt入口为改写为以下方式movedi,edipushebpmovebp,esppopebpmoveax,OxXXXXXXXXjmpcax具实际意思,防止对API函数头的检测,将修改转入了后续儿句指令,避开对头的检测。做APIHOOK的一个原则,堆栈平衡,保护寄存器数据,这一点很重要。对于这些HOOK方式,基于原则的基础上,函数头可以做任意修改,尽可能的隐藏自己的修改,达到绕过检测的目的。关于反外挂检测代码的拦截对于反外挂检测

7、代码,通过用OD跟踪,下API断点,可以很容易的拦截到检测代码所在,方法与对send的拦截一样,首先,必须耍熟悉一些API,就是在多开检测中,需要用到哪些API,以及有哪些多开检测的方法。对于窗口标题及类名的检测,我们知道需要用到GctWindowTcxtA,GctClassNamcA,或GetWindowTextW,GetClassNameW,如何枚举窗口呢?常用的方法是使用EnumWindows,和GetWindow,对于此,我们可以在这些函数上下执行断点,断卞后,直接从OD的堆栈窗口观察其调用来源,CTR

8、L+F9返回到该调用点,分析上下文,看是否是检测部分,通过反复的跟踪下断,就可以拦截到反外挂检测代码。由于对多开的检测有两部分,一是窗口类名,一是进程,所以,反外挂检测代码也是两段,我们对窗口部分下断外,还耍对Process32Next下断来截収反外挂检测的代码。这里面涉及到游戏自身调用的一些问题,要区分,就要看断下來后,堆栈里的返回地址,一般返回地址如果人于0X401000,小于0x

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。