fps 游戏中外挂和反挂用到的技术是什么

2018-03-24 17:54:24 +08:00
 yuzhibott
8405 次点击
所在节点    分享发现
18 条回复
dobelee
2018-03-24 18:00:42 +08:00
外挂主要有三种
1.操作辅助型,如按键精灵
2.客户端篡改型,如非官方客户端
3.通讯篡改型,如抓取报文
反第三种最简单,加密通讯报文。
反第一种和第二种比较困难。
MeteorCat
2018-03-24 18:20:09 +08:00
在线 fps 游戏是最特殊的游戏,很多计算要求高速和高实时,所以很多都是直接使用 p2p 客户端运算,服务端对游戏帧数据采集做“玩家数据预测”来,多人 fps 是目前游戏服务端处理最麻烦和棘手的事,哪怕大厂对这种问题也无法百分之百防范

参考资料: https://blog.csdn.net/silangquan/article/details/51512400
est
2018-03-24 19:49:22 +08:00
外挂技术一般都是 aimbot,锁血、穿墙、瞬移、秒杀。

反外挂其实现在很不成熟,VAC 也就是判断客户端环境而已。游戏中并不会主动去探测。
mokeyjay
2018-03-24 20:04:53 +08:00
受制于网络延迟,FPS 游戏各种判定都是在客户端做的,所以目前反外挂很困难
至于技术,无非就是突破驱动保护注入游戏篡改数据,反外挂就是检测有没有程序突破驱动保护篡改数据
qsnow6
2018-03-24 21:43:22 +08:00
1. 为了向性能妥协,大部分的验证都是在客户端校验的。服务端为了最快响应游戏数据,很少做反外挂处理。
2. 但是并不是完全不处理,据我所了解的,都是事后算账,定期清理一批数据异常的玩家,提升作恶成本,达到杀鸡儆猴足已。
qu3290052
2018-03-24 21:50:02 +08:00
现在更多的外挂是 hook
winterbells
2018-03-24 22:33:17 +08:00
之前看过 GTA5 的外挂科普,因为性能和网络原因,不可能每个玩家都直接连服务器,所以每个战局会指定一个玩家作为主机,把数据汇总后传给 R*。所以外挂就是利用这个来控制战局内所有数据。想干嘛干嘛,还可以伪装成别的玩家,这样举报也不会被查。。
just1
2018-03-24 22:34:54 +08:00
有大佬能顺便解释下比如腾讯是怎么防外挂的呢
qqdaiyu55
2018-03-24 22:44:43 +08:00
反外挂主要包括游戏客户端检测防护与写策略(检测外挂行为导致行为数据),还有不成熟的机器学习分类,以及主播举报。
wafm
2018-03-24 22:57:12 +08:00
@just1 最直接有效的都还是南山区人民法院
pisser
2018-03-25 02:24:33 +08:00
大学期间写过 bf2 外挂现在都没怎么碰了,简单可以说几句,初中高中数学(几何),要会看 asm,debug 内存,C/C++/JAVA 等等,深入了解操作系统环境编程以及各种 trick,所以说这问题问得很初级,别指望有什么收获。
zj299792458
2018-03-25 03:45:36 +08:00
屏幕中间贴准星算外挂不
Telegram
2018-03-25 07:01:16 +08:00
最终还是行政手段,把外挂制作者抓起来。
pkookp8
2018-03-25 10:26:15 +08:00
@zj299792458 十年前打 cs 靠的就是这手盲狙
app13
2018-03-25 11:29:25 +08:00
@zj299792458 我的显示器自带屏幕中间显示准星的功能,这就算硬件挂了吧😁
finab
2018-03-25 13:14:23 +08:00
@app13 这算次元挂,外挂代码运行在另一个次元。现有技术无解
xenme
2018-03-25 14:04:34 +08:00
fps 这种我觉得最基本的透视基本无法防止
m939594960
2018-03-25 15:18:47 +08:00
@just1 腾讯怎么反外挂.
我说下我了解的
1.
腾讯的 TP 一般就是通过驱动 HOOK 掉一些系统公开 /没公开的 API
例如读写内存的 API 通过驱动 hook 到自己程序中,对指定进程的内存读写进行 屏蔽 /记录
比如 DEBUG 程序用到的一些关键性 API 通过驱动 hook 然后全局 anti-debug (不能调试任何程序,包括 DNF,JAVA,C++),导致用户无法 DEBUG 也就无法恢复这些 HOOK

hook 之后在通过一些黑科技防止用户恢复 hook,例如把一些参数通过奇怪的方式传到 API 中, 如果你没传 /传错了, 就会导致用户蓝屏

防止你加载各种驱动进入 R0 级别.


由于这种 hook 导致新更新大的系统版本的时候 TP 总是会导致蓝屏, 这也是没办法的,因为 hook 的很多 API 都不是微软提供开放使用的 API,所以版本更新调整一下 API 的参数 结构什么的, TP 一 HOOK 就蓝屏也是很正常的




2.然后用心跳包之类的跟腾讯服务器进行沟通,发现 TP 被剥离游戏游戏立刻掉线

3.对主流的一些外挂进行特征码的记录, 可以不更新游戏进行对指定品牌的外挂进行封锁 . 但是外挂想绕过还是挺简单的,所以现在这外挂每天更新 防止腾讯记录特征码

4.对一些不知名的 DLL 程序进行上传服务器鉴定,如果发现有问题,所有账号进行追封..

5.对虚拟机,IP 等检测 如果有问题 增加对检测的力度(主要针对工作室)

6.一般的动态 CRC,静态 CRC,CALL 检测,关键点 VM

7.其他一切未知的检测,不会让你知道你被没被检测,也许 腾讯一直知道你在用挂,只不过现在还不想鸟你 ,只会在某个日子偷偷追封掉你的账号(最令人恶心的一个地方)

8.工作室行为检测 针对用户 QQ 号游戏行为等等各种 进行判断是否工作室 (估计内部是有账号评分系统, 分到某个阀值就触发封号机制.)


当然这一切的一切都是我猜的. 反正我现在觉得腾讯是反挂方面最屌的了吧.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/441062

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX