- 1、本文档共13页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(诛仙多开分析文档
诛仙多开分析文档
(Written By:CoffeeTea 11/9/07)
不知怎么开篇,直接入正题。
诛仙的多开检测,大致分为两个阶段,第一阶段是检测窗口标题和类名,通过系统函数GetWindowTextA,GetClassNameA获取窗口标题及类名,当累计检测数大于等于5时,会随机断开一个连接(断开提示:与服务器连接中断,请重新登录)。第二阶段是检测窗口类名和进程名,通过系统函数GetClassNameA,Process32Next获取窗口类名和进程信息,当累计检测数大于等于5时,会随机断开一个连接。
在第一阶段,可以通过修改游戏主程序中,存放的类名字符串和标题字符串来达到跳过检测,可以用UltraEdit32或WinHEX打开游戏的elementclient.exe,有哪些信誉好的足球投注网站“ZelementClient Window”和“Element Client”的UNICODE码来找到该位置,将这两个字符串任意修改即可。
在后来,加强了对多开的检测,会要求各客户端返回正确的窗口标题和类名,一但是修改过的,会采取封号及掉线的方法惩罚该号。
这个时候,需要通过API HOOK的方式,HOOK GetWindowTextA及GetClassNameA来实现多开,API HOOK的原理,就是在程序调用系统函数的时候,先一步进入到我们自己的处理函数,视情况处理数据,欺骗检测。当要获取的窗口句柄时当前游戏窗口时,我们就返回正确的字符串,而是其它游戏窗口时,就返回其它字符串。
在第二阶段,此时,不仅针对游戏窗口标题和类名,且遍历系统进程,获取游戏进程个数来检测多开,使用CreateToolhelp32Snapshot函数创建进程快照,使用Process32First,Process32Next循环快照句柄的链表结构获取进程相关信息。依然使用GetTopWindow,GetWindow,GetWindowTextA,GetClassNameA来获取窗口相关信息。这个时候,通过HOOK GetClassNameA和Process32Next即可达到多开的目的。
此后,好景不长,诛仙增加了对API HOOK方式的检测,对Process32Next这个函数的第一字节进行了E8,E9的检测,通过机器码转换汇编码,可以知道,E8是call的机器码,即API HOOK方式中的一种,改API函数头5字节,转到我们自己的函数的方法。而E9是jmp的机器码,也是一种API HOOK的方法,都是为了转到我们自己的函数去处理。
于是,采用jmp call来HOOK的方式失效了,然后出现了很多种对API函数头做修改的方法,例如以下几种:
mov eax, 0xXXXXXXXX ;将自己函数的入口写入eax寄存器
jmp eax 或 call eax ;转入自己的函数执行操作
push 0xXXXXXXXX ;将自己函数的入口压入堆栈
retn ;转入自己的函数执行
xor eax, eax ;EAX清零
push 0xXXXXXXXX ;还是将自己的函数入口压栈
pop eax ;将自己的函数入口推出到EAX
jmp eax ;转入自己的函数执行
更有甚者,模拟API函数头,比如Process32Next入口为
mov edi, edi
push ebp
mov ebp, esp
改写为以下方式
mov edi, edi
push ebp
mov ebp, esp
pop ebp
mov eax, 0xXXXXXXXX
jmp eax
其实际意思,防止对API函数头的检测,将修改转入了后续几句指令,避开对头的检测。
做API HOOK的一个原则,堆栈平衡,保护寄存器数据,这一点很重要。
对于这些HOOK方式,基于原则的基础上,函数头可以做任意修改,尽可能的隐藏自己的修改,达到绕过检测的目的。
关于反外挂检测代码的拦截
对于反外挂检测代码,通过用OD跟踪,下API断点,可以很容易的拦截到检测代码所在,方法与对send的拦截一样,首先,必须要熟悉一些API,就是在多开检测中,需要用到哪些API,以及有哪些多开检测的方法。
对于窗口标题及类名的检测,我们知道需要用到GetWindowTextA,GetClassNameA,或GetWindowTextW,GetClassNameW,如何枚举窗口呢?常用的方法是使用EnumWindows,和GetWindow,对于此,我们
您可能关注的文档
最近下载
- 2024年中考语文二轮复习:名家散文阅读(汪曾祺)练习题汇编(含答案解析).docx
- 职业资格认证 三.鉴定细目表 中式烹调师(中级)理论知识鉴定要素细目表.doc
- 来访人员登记表(模板).pdf VIP
- 中小型企业安全生产事故应急救援预案范文.doc
- 《中华民族一家亲》第一课时 教案.doc
- 【智慧树】【知到】大学生劳动就业法律问题解读(2024必威体育精装版版) 章节测试答案.docx VIP
- 酒厂危险源辨识及风险分级管控清单范本参考模板范本.pdf VIP
- 人教版四年级数学上册《田忌赛马》教案及教学反思.docx VIP
- 创业模拟实训培训.pptx
- 2024《城市居民参与生活垃圾分类的问题研究—以北京市A社区为例》论文答辩稿1700字.docx VIP
文档评论(0)