神经网络视觉AI“后时代”自瞄实现与对抗

news/2024/7/11 0:12:34 标签: Python, STM32, 自瞄, YOLO, 人工智能

    通俗一点来说,自瞄是在FPS射击游戏中最为常见的作弊手段之一,当下最火爆的CSGO也深受其扰,在此我说些我自己的看法,欢迎大家在下方留言讨论;

(1)软件层面

    在神经网络方面的视觉AI应用流行之前,WG作者只能使用应用层或驱动层标准的Windows API来实现,例如keybd_event、mouse_event、SendInput、NtSendInput等接口,而游戏中的人物坐标数据通常需要注入或远程读取来获取,而在AI后时代这些将逐渐远离,让反作弊系统直接失明......

    在写这篇文章时,与很多硬件和软件大佬做过一些深入交流,本文标题所指的“后时代”并不是说#ChatGPT的时代,而是在那些神经网络AI出现之后,在这个AI出现之前,一些作弊器都需要在应用层或驱动层实现模拟键鼠操作,这里是有极大概率被当下的检测封杀的。

    通常一些自瞄都非常依赖Windows API来模拟键盘鼠标操作,我这里说一种新型更隐蔽的手段 —— STM32伪造键鼠,这种方法在目前TB上面也有大量模块化的售卖。它的原理其实也非常简单,利用STM32单片机在系统模拟出一个罗技鼠标(VID、PID全部伪造),再开放一个其他USB或串口等提供给应用层远程模拟,这种键鼠模拟会相当于隐蔽,反作弊系统会非常难捕获。

    之前在B站看到过一个神经网络方面的大佬林亦LYi用Python+神经网络算法写了一个通杀所有FPS游戏自瞄的效果,大致原理是利用试时的游戏截屏+神经网络视觉AI再去分析出来人物肢体部位,最后再模拟键鼠射击,效果如下图:

【亦】警惕AI外挂!我写了一个枪枪爆头的视觉AI,又亲手“杀死”了它_CSGO

(2)硬件层面

    不禁想起在2018年阿莫电子论坛一位大佬利用FPGA+Python+OpenCV+STM32做出来一个硬件级的纯物理自瞄WG,他在2018年就有这样的思路已经是非常超前了!

    因为他的整套系统完全不在Windows上运行,也不需要截取游戏画面,也不需要读写游戏数据,甚至连一个多余的进程、文件都不需要;他的原理是彻底不接触物理游戏主机,而是直接从HDMI读取画面数据用FPGA开发板上的Python+OpenCV来识别出游戏人物位置,如果当前他了解神经网络方面的视觉AI,也许他会打开新世界的大门!咦,不过当时好像并没有流行这方面技术;

    如果我要在这位硬件大佬的基础改进的话,首先在Python中不要只是单纯的用OpenCV,而使用目前比较火爆易用的YOLO V8目标检测算法,先不断强化训练学习从而做到更精准,如果训练得足够强悍,这将对所有FPS射击游戏来说是噩梦。

    这个在开发板中有现成的YOLO算法完整例程代码:

GitHub - fpgadeveloper/pynq-ncs-yolo: YOLO object detector for Movidius Neural Compute Stick (NCS)

    整体思路原理框架如下:

    如果这篇文章看到现在,还有小伙伴蠢蠢欲动的话,我建议你三思,毕竟如果你只懂PC软件工程的话,硬件这一块会够呛的。

    借用我司硬件总工跟我讲过的一个地狱笑话:“那些当年在某宝卖开发板的人,如果看到收货地址是学校的,人家直接劝你退货......

    为啥?因为他们大多啥基础水平没有反而问题一大堆,这哪有空给他讲?就相当于卖给你一个数码相机和PS软件,你得教会如何P出一个赵丽颖?再通俗一点,相当于我卖你一套xxx代码,你自己消化不了它,还天天来问我C语言语法函数问题这换谁能受得了?人家卖块板子赚个几十块,得教你几千块的知识,这也不太实际,大家还是要讲良心!所以现实是即使你在某宝买了人家的开发板,也许人家哪怕收到差评也根本不会鸟你任何非质量的问题....

    即使你买了开发板,整个架构对软件、硬件、神经网络等综合水平要求有点高,另外还有一个劝退点:

    看到这个美刀的价格如果你还有购买的冲动,那当我上面的没说过......

(3)对抗硬件自瞄G的思路

    在说了这么多之后,我大致总结了一下它的对抗思路:

    1、检测非法的键鼠VID、PID设备批量拉黑;

    2、检测玩家某个时间段内的键鼠记录,比如W按下10毫秒|W松开10毫秒|S按下1毫秒|S按开1毫秒等等,再用AI分析出异常的

    3、检测键鼠视野抖动范围,这些也是在正常情况下非常人能达到的;

    最后,相信不久的将来,这种硬件WG将会成为“主流”。在这个WG肆意横行的时代,为此我们唯一能做的是回归游戏初心,坚决抵制任何游戏WG,同时希望平台也要不断完善反作弊机制!


http://www.niftyadmin.cn/n/360404.html

相关文章

Linux 的软件生态 软件包管理器(yum)编译器 - vim

Linux的软件生态 在 手机 ipad 笔记本等等我们使用的产品当中,会有应用商店等等可以下载软件的 软件包管理器,当我们想要下载某一款软件的时候,就去这个应用商店当中搜索,或者是去寻找,找到之后,进行下载&a…

Github疯传!200本经典计算机书籍!

好书在精不在多,每一本经典书籍都值得反复翻阅,温故而知新! 下面分享几本计算机经典书籍,都是我自己看过的。 重构 改善既有代码的设计 就像豆瓣评论所说的,看后有种醍醐灌顶、欲罢不能的感觉。无论你是初学者&#…

【计算机网络基础】辨析专题⑥ 应用层

文章目录 重要简写重要概念重要简写 域名系统——DNS文件传送协议——FTP简单文件传送协议——TFTP远程终端协议——TELNET万维网——WWW统一资源定位符——URL超文本传送协议——HTTP超文本标记语言——HTML可扩展标记语言——XML可扩展超文本标记语言——XHTML层叠样式表——…

《分布式缓存(三)- Redis哨兵》

文章目录 Redis哨兵1.哨兵原理1.1.集群结构和作用1.2.集群监控原理1.3.集群故障恢复原理1.4.小结2.搭建哨兵集群2.1.Redis主从集群(Linux)2.2.搭建哨兵集群(Windows)2.2.1.集群结构2.2.2.准备实例和配置2.2.3.启动2.2.4.测试3.RedisTemplate3.1.项目工程3.2.引入依赖3.3.配…

指令微调数据集整理

文章目录 开源指令数据集斯坦福数据链家数据 垂直领域数据集医疗领域的英文数据医疗领域的中文数据 COIG数据集(可商用的中文数据集) 开源指令数据集 斯坦福数据 斯坦福52K英文指令数据:https://github.com/tatsu-lab/stanford_alpaca 52K …

写出诗一样代码的灵丹妙药: const与assert

🤩本文作者:大家好,我是paperjie,感谢你阅读本文,欢迎一建三连哦。 🥰内容专栏:这里是《C知识系统分享》专栏,笔者用重金(时间和精力)打造,基础知识一网打尽,…

Redis 的数据类型和命令帮助

文章结构 Redis 数据类型1. Redis全局命令(跟key有关系,而跟value无关)2. StringsGetting and setting StringsManaging counters 3. Lists(L)Basic commandsBlocking commands 4. Sets(S)Basic commands 5. Hashes(H)Basic commands 6. Sort…

element-ui拖拽上传及问题解决(drag的使用注意事项)

element-ui拖拽上传及问题解决(drag的使用注意事项) 上传组件(:drag“true”) <template><el-uploadclass"avatar-uploader"action"":show-file-list"false":on-success"handleAvatarSuccess":before-upload"beforeAva…