fps 游戏中外挂和反挂用到的技术是什么 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yuzhibott
V2EX    分享发现

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

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

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

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


    当然这一切的一切都是我猜的. 反正我现在觉得腾讯是反挂方面最的了吧.
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1119 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 17:47 PVG 01:47 LAX 10:47 JFK 13:47
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86