游戏外挂检测和反检测 您所在的位置:网站首页 网游高防服务器怎么开挂的 游戏外挂检测和反检测

游戏外挂检测和反检测

2024-02-07 08:13| 来源: 网络整理| 查看: 265

关于游戏外挂检测和反检测(真正的防封技术)在网上找到篇关于游戏外挂检测和反检测的文章拿来跟断点的朋友分享。详细文章见附件,这里写些简介。    一:内存探测法        服务器发送个Paket检测游戏内存,然后返回服务器。这对游戏公开的挂威胁大。        反侦测基本思想是拦截Peket,返回伪装Peket。    二:DLL扫描        游戏反外挂系统(Module32First/Module32Next)扫描游戏中的DLL,返回。        反侦测思想是DLL隐藏。    三:进程扫描        游戏反外挂系统(Process32First/Process32Next)扫描用户进程,返回。        反侦测思想也是进程隐藏(如将外挂进程注入到游戏进程)    四:窗口扫描        游戏反外挂系统(EnumWindows)扫描进程窗口,返回。这主要针对有GUI界面的外挂(外挂都有)        反侦测思想是随机产生窗口类名和窗口名。(现在很多外挂都能做到这点)

暴雪和黑客的战争(游戏外挂与反外挂)BZ加亮[    sell=5][/sell][    post]如前一篇文章所说,D2X中hacks的发展大约可以分为三个阶段,即前1.10的发展成熟期,1.10的过渡期以及1.11的衰落期。一直到1.09d(1.10前的最后一个版本)为止,D2X中几乎没有作弊检测机制,这一时期是hacker们最幸福的时期。说没有是因为它没有专门的检测代码,而说几乎没有是因为它有些机制还是可以用来做作弊检测用途的。一处是它的自动升级机制。在战网上玩过的玩家都知道,每次连到战网的时候,会有一个对话框提示正在检查游戏版本,如果用户本机和服务器端额版本不一致的话,自动进行升级。Diablo的自动升级功能在游戏业界可能是首创,这大大降低了游戏的上手难度。我接触过不少外国玩家,跟国内玩家不同的是,他们中很多人都是一些15岁不到的小孩,让他们自己从网上下载补丁包升级几乎是不可能的事。自动升级的过程如下:1,玩家连到战网;2,服务器端发送一个专门用于版本检查的DLL到客户端;3,客户端在本机保存该DLL;4,客户端调用LoadLibrary加载DLL5,客户端调用该DLL导出的一个函数。该函数通过计算几个重要的客户端游戏文件的校验判断版本是否匹配,不匹配则做自动升级。6,客户端版本检测完毕,调用FreeLibrary卸载DLL并删除文件。

在这个过程中,由于版本检查DLL保存在服务器端,因此显然它可能会被随时修改,增加一些其他功能,如作弊检测。从版本检测相关代码(见文末)调用的Win32 API,LoadLibraryA/GetProcAddress/FreeLibrary/DeleteFileA,可以大致看出这一过程。

另外一处不为人知的机制是,在玩家连上战网后,服务器端有时(不是一定会发,而且发送时机也不确定)会发送一个DLL (Extrawork.dll)到客户端运行,然后把结果返回给服务器端,其工作原理和版本检测机制的工作原理非常类似。显然这个机制也可以用于作弊检测。不过根据很多hacker观测的结果,extrawork.dll一般用于收集玩家的系统配置信息,包括CPU主频、内存容量、操作系统版本等。

虽然这两点机制都可能用于作弊检测,但在1.10以前的时间里,没有迹象表明暴雪利用了这点,因此在这一时期出现的hacks也都没有相应的反检测措施。

版本检测的相关代码:

XXXX45A3                 lea     ecx, [esp+124h]XXXX45AA                 push    ecx             ; IX86ver0.dllXXXX45AB                 call    ds:LoadLibraryAXXXX45B1                 mov     ebp, eaxXXXX45B3                 test    ebp, ebpXXXX45B5                 jz      loc_6FF046F1XXXX45BB                 push    offset aCheckrevision ; "CheckRevision"XXXX45C0                 push    ebp             ; hModuleXXXX45C1                 call    ds:GetProcAddressXXXX45C7                 mov     esi, eaxXXXX45C9                 test    esi, esiXXXX45CB                 jnz     short loc_6FF045DFXXXX45CD                 push    offset aErrorFailedT_0 ; "



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有