个人游戏工作室头条号

你的位置:首页 >游戏工作室 >从程序员角度看反外挂防游戏封号方法

从程序员角度看反外挂防游戏封号方法

最近腾讯大封号,并且严打,不少作者都跑路了,这个行业还真是难做!今天闲来无事,跟朋友们聊聊网络游戏防封号的事儿。也是做游戏工作室的最想解决的一个大问题。有那么一句话叫作“如果能不封号,任何游戏都赚钱,呵呵”万事无绝对,没有百分百的防封技术,但也没有不存在游戏工作室的网游,只是从一个程序员的角度闲聊一下防封方法,不鼓勿喷!

一,服务器数据库上记录些什么

1,帐号信息: 充值记录,元宝消费,登陆时间,ip地址,mac码等。

2,角色信息: 物品获得记录,金钱,宠物交易记录等。

所以有很多时候被封号,并不是发现了你用了脚本或外挂,而是官方在后台数据库搜索匹配条件找到而已。

二,游戏检测外挂方法

1,服务器上有些游戏会对数据包进行严格检查,有些不会。不过服务器上的对数据包的检验都很严格,数据的真实性都是以服务器上为准。对于不加密的数据包,即使你发现了,也别高兴太早,如果游戏真的火了,把加密弄上也就一周左右的工作时间,而且更换加密方式也很快,现在封包挂不是个出路了。

2,客户端上主要检测力度很多公司都不一样,像TX,网易这些公司就很严格,很多小公司干脆是祼奔,其实只要游戏赚钱了,检测外挂肯定会多少加上点。

说下我所知道检测方法:

(1)对关键api Hook进行保护,网络相关send recv,

(2)dll注入检测可能是hook loadlibrary,也可能是定时检测进程模块(找到非法模块就退出)

(3)对于用od进行调试客户端,似乎都没有彻底的办法,一般就是加些花指令,加壳做些干扰,不过这也足以挡住大部分水平不够的作者

(4)很多游戏都会对PE,OD,按键精灵,简单游等进行检测,主要是枚举窗口名字,进程名字。

(5)按键类外挂检测,对于后台脚本主要是用GetCursor,GetForegroundWindow,检测窗口位置和鼠标位置是否正确,还有些是对WM_ACTIVE消息进行处理(神武就是这么干),对于前台脚本除了把鼠标弄偏移外,也就没有什么更好的办法了,不过这个偏移对普通玩家也很不友好,也影响游戏公司留存玩家。

(6)对于有些人说检测鼠标点击位置的重复度,这个多半是他们自己的猜想,这样做很容易造成误封。

三,现在个人觉得目前最好的辅助方式是,图像识别加鼠标移动和点击call结合起来,或者hook GetCursor,GetForegroundWindow等后台相关api,图像识别,任何游戏都不可能检测得到,而且现在的图像识别方式也已经很成熟,可以做到识别人脸程度。
    
四,外挂脚本开发语言:

简单的功能,可以用按键TC,易语言,个人不看好按键,语法扩展性差,也容易被针对。推荐c++和python或者lua脚本语言结合起来,c++实现具体功能,注入,远程call,后台,前台消息发送,按键模拟等。脚本层语言负责写具体的逻辑就可以。

基本上我所了解的游戏检测方法与防封号策略也就这些了,大神们见笑了。说的对也好,错也罢,请批评教育,不接受侮辱谩骂。