导语
【解码游戏安全】是腾讯游戏安全ACE带来的全新技术干货型内容栏目,旨在为大家揭开在ACE激烈的游戏安全对抗中,蕴藏的技术密码!本期为大家带来腾讯游戏安全ACE的“独门秘技”——Replay的应用!
游戏作弊变得越来越隐蔽
随着游戏玩法越来越丰富,玩家群体生态越来越多样化,一刀秒杀、全屏伤害、飞天遁地等“暴力”作弊行为,由于实现原理涉及到对游戏数据的截取和篡改,非常容易被官方检测到,因此已经越来越少地被使用;而使用跨进程类的外挂和着色修改类的外挂实现“透视、自瞄、加速”等功能的作弊方式,慢慢成为主流。
跨进程类的外挂是独立于游戏的第三方进程,以高权限方式跨进程读取游戏关键逻辑数据,通过进程外绘制实现透视等外挂功能。跨进程透视外挂只读取游戏关键数据,游戏逻辑层执行没有任何异常,游戏无法感知到外挂进程相关的详细信息,所以很多安全方案(尤其是手游)是难以对抗此类外挂的。
修改shader类外挂
修改shader类的外挂,是通过修改shader数据可以影响GPU的渲染过程,可以实现人物渲染类透视、人物上色、除草除树等功能。
面对此类外挂,在与外挂黑产多年的博弈中经过反复验证,腾讯游戏安全ACE探索出一套“Replay系统”用以打击各种暴力或隐性作弊方式,目前已广泛应用于腾讯各大游戏,如《和平精英》《穿越火线》《英雄联盟》等游戏。
什么是Replay?
Replay文件是游戏过程中产生的一种录像文件,保存着特定游戏场景下面的游戏行为信息,比如某个对局或者某个时间段下的行为,同时该文件还可支持录播视频回放。
Replay文件里面主要包含游戏关键事件协议相关的信息,以某射击类游戏为例,Replay里面包含了100多种游戏关键事件协议,如玩家进入/退出对局,玩家死亡,队伍变更,捡起/丢弃武器,模型动画,地图信息,释放技能,开枪,瞄准等协议,下图为某一个玩家在某次对局中产生协议的标签云。