小菜的构思如下,这个R3下反外挂要做到:
1. 封装成sdk的形式,方便客户端工程师调用
2. 一般性检查(这个都是现有已经公开的技术,但是它最大的作用,让菜鸟写挂的人止步这里)
a. 按键检测
b. 模块注入检查(太尼玛多了,根本防不住,但是对常规手段有威慑作用就好)
i. 远程线程检查
ii. 本进程线程检查(有一些特殊的注入方法不一定需要远程线程)
iii. apc
iiii. 输入法(暂时没有想到好办法)
c.进程空间特征码检查(抹掉pe指纹就不好弄了)
d. call检查
i. 调用堆栈
e. 同MAC或者同IP下帐号检测
3. 特殊检查 (猥琐流,R3下检测在驱动漫天飞的时代当然不能硬碰硬)
a. 故意暴露一大堆基地址出来,自己游戏不用,外挂用了这些,就悄悄向服务器报告
b. 操作系统版本检测,比如用Win2003,win2008这类系统,并且挂着大量的虚拟机或者很多客户端的,基本80%都是挂
c. 扫描同局域网下有多少客户端,如果有大量的客户端在结合行为分析,基本可以可以判断是否是外挂
4. 检查结果报告(这个地方单独列出来,是因为有可能被做外挂的人爆破掉,如果爆破掉上面两步就没意义了)
a. 不能自己单独开端口,因为这样会被做外挂的发现,用游戏数据端口通信,涉及到怎么把游戏数据和反外挂数据分离开
b. 不要像TP这样,直接踢下线,悄悄像服务端报告(俺是R3的),让服务端告诉客户端怎么处理(比如下线、封交易之类的)
c. 不要立马报告,过一个小时或者半个小时随机报告,防止报告代码被爆破掉
这些是小菜想起来要做的,各位大神望指正