网页游戏的攻击与防御(7)
二、自动游戏+加速 自动游戏,简单的说就是模拟鼠标或键盘对游戏UI的操作,代替你做重复的工作。最简单的自动游戏脚本可以使用按键精灵来制作,先对正常操作进行录制,然后编辑,设置热键,最后回放即可。程序实现中一般会有以下几个关键函数 (1)模拟键盘 VOID keybd_event( BYTE bVk, // 虚拟键码 BYTE bScan, // 扫描码 DWORD dwFlags, ULONG_PTR dwExtraInfo // 附加键状态 ) (2)模拟鼠标 VOID mouse_event( DWORD dwFlags, // motion and click options DWORD dx, // horizontal position or change DWORD dy, // vertical position or change DWORD dwData, // wheel movement ULONG_PTR dwExtraInfo // application-defined information ) 自动游戏的作弊方式常见于对战刷怪类游戏,自动识别地图中怪物出现的位置,自动出招打怪,自动拾取掉落宝物。往往还会配合加速外挂,总的来说,就是靠达成那种不知疲倦(脚本操作)、准确度高(自动识别地图中UI特征)、快速(对页游就是加速flash的动画播放速度)的操作方式来快速升级。 自动游戏类型外挂的防御比较简单,增加人机识别的因素,类似于论坛避免批量注册,采用只有人类才能识别的验证码(题外话,不少网站的验证码其实可以机器识别),例如对于对战类游戏,记录每次对战的频率和操作时间特性,对异常的操作弹出图片验证,中断自动游戏。 在实施图片验证的时候,要考虑到两个要素: 一是图片是否真正的机器难以识别,要预防简单的像素采集技术; 二是图片库是否及时更新,要预防图片库的遍历。 而加速外挂,也常见于对战类游戏。改变操作速度有两种情况。一种是使用变速齿轮之类的加速外挂加快flash动画播放速度,一种是速度值为游戏中的某个变量值,修改了对应的数值。 对于加快flash动画播放速度的加速外挂,我们可以通过对比客户端服务端时间是否同步来检测,当检测到异常的时候,可以弹出图片验证,中断加速。 对于速度由游戏中数值控制的,做好协议安全,使其无法改封包中对应的数值;做好SWF反逆向保护,使其无法修改源码中控制速度的逻辑。 ![]() |
作者:秩名 2012-11-12
- ·AR的高端玩法:Magic Leap新专利可治疗色盲 2017-01-22
- ·纪念碑谷开启黑科技 上线AR功能可浏览奇幻建筑 2016-12-13
- ·Rift、 Vive和PS VR对比:哪个更划算 2016-10-24
- ·索尼证实计划推出高端PlayStation 4 将支持4K 2016-06-12
- ·华硕新品发布会召开 VR的较量展前就已开启 2016-05-31