浅谈非内存对抗类和AI自瞄类FPS作弊程序原理及常用反反作弊措施与反作弊应对手段(上)

一、引言

闲来无事,在浏览微信公众号的时候无意刷到了江西余江警方关于破获全国首例“AI自瞄”类外挂的案件,涉案金额达到惊人的3000余万。不得不感叹近年来AI相关科技发展之迅速及国内有关于FPS类及其他大类游戏作弊的黑产市场之大。

97cc3df73d5e45f39cb1ad9c45f5030b.png

在工作学习之余,本人也曾对非内存对抗类的作弊技术有过浅薄的探究(因为Windows 内核编程学起来真的掉头发),故受到这次案子的启发,浅谈并整理一下我所了解的,近年来国内所出现过、现如今仍然流行的非内存对抗类的外挂程序其中的内部实现原理,以及这些外挂程序为了规避反作弊采取的措施和针对这些措施,以鄙人之拙见列出的反作弊一方可以采取的检测手段(矛与盾的攻防)。

对于游戏反作弊攻防领域,只有知己知彼,才能百战不殆。

本文意在科普除内存外挂以外的外挂作弊程序的实现原理,打破国内部分领域外挂过于“神化”的滤镜,为游戏厂商的反作弊工作提出更多思路,也为正义的游戏玩家科普一些相关领域知识武装自己,开拓见识。文中提及到的所有源码、图片、技术皆为多年收集于各大论坛、QQ群等技术讨论平台,或间接或直接从相关“从业”人员口中得知或由相关程序文件结构反推得出。作者并非相关领域专业人士,文章如有遇到不严谨不正确的知识希望海涵。

本文的外挂类型仅局限于用作FPS类游戏作弊,其余如竞速类、格斗类、角色扮演类等其他类游戏方面的外挂不做涉及。

二、常见的五大类外挂类型

1. 基于颜色识别的“找色类”外挂

“找色类”外挂可以说是国内最早一批除了内存外挂以外的外挂类型。最早的找色自瞄外挂可以追溯到2015年甚至更早。随着大漠插件的问世再加上易语言这一简单易懂的编程语言的普及,简单易用且庞大的第三方模块库让早年间很多不是专门从事计算机领域的爱好者接触到了编写程序的快乐。在那个外挂仅仅是出于个人兴趣而免费制作出来供大家研究学习游玩的年代,找色类外挂就在各大编程论坛广为流传讨论。

找色外挂的核心就是找出游戏画面中敌人或者敌对目标身上的颜色特征,收集这些特征颜色,经过一系列函数处理,在屏幕中找到预先设置好的颜色值并给出这些颜色在屏幕中的精确坐标。得到了这些颜色坐标后,就可以对坐标进行二次加工从而开发出诸如“自瞄”、“自动扳机”、“磁性吸附”等功能。

以国民级端游穿越火线举例。早期游戏中的人物颜色基调大多以暗色调为主,没有如今游戏里面那么多样式、不同颜色风格的人物。只要玩家装备了烟雾头盔这一道具后,游戏中人物的模型上就会默认戴着烟雾头盔(早期还不能隐藏装扮)。

4def6bb18df549f98e95ec6872ecbfe9.png

6ef15ed3264c4add90300f2f65673128.png

带着烟雾头盔的角色或者不带烟雾头盔的早期角色模型中,其头部都有明显的“黑色”,不论你当前游玩的是什么地图,这个“黑色”的特征颜色并不会变,于是确认了这一特征颜色后,通过工具(比如QQ截图就可以显示鼠标处的颜色RGB色值)获得颜色的RGB数值(或者其他格式类型),调用现成的大漠插件或者其他的第三方库中有关的函数,就可以找到当前颜色在屏幕中的位置。

以大漠插件+易语言举例:

头部 = dm.FindColor (492, 374, 532, 408, #头部颜色值, 1, 0, x, y)
如果 (头部 = 1)
sbwz = dm.GetCursorPos (x1, y1)
x2 = x - x1
y2 = y - y1 + 7
dm.MoveR (x2, y2)

只需要以游戏准星也就是屏幕分辨率的二分之一的位置为中心向外扩张的矩形区域为范围,找到事先采集到的特征颜色,并返回颜色的坐标,拿到坐标再根据当前鼠标的坐标简单计算得到相对位移举例,就可以实现“自瞄”的功能。

这只是简单的找色实现,但是往往游戏的环境十分复杂,万一遇到了地图中恰好也有跟特征颜色值一样的颜色怎么办,那不就“误锁”了吗。聪明的人可能想到了,在找色之前加上前置条件,当触发前置条件后就可以证明当前是马上会与敌人“交战”的情形而不是咱们在地图中闲逛的时候。在穿越火线中,当鼠标准星移动到敌人附近的时候会显示敌人的红色名字,狙击枪开镜瞄准的时候同样也有大面积的黑色,那么就可以将上面的“红色名字”或者“黑色狙击镜”当作前置条件判断,利用FindColor函数,如果找到了上述的两个颜色,就代表即将遇敌,进而寻找特征颜色,那么就可以极大了规避“误识别”。将上面的代码优化一下。

人名 = dm.FindColorE (508, 426, 518, 440, “000000-000000”, 1, 1)
红名 = dm.FindColorE (508, 426, 518, 440, “A53A30-000000|cc4224-000000|f24a17-000000”, 0.9, 0)
如果 (红名 ≠ “-1|-1” 且 人名 ≠ “-1|-1”)
头部 = dm.FindColor (492, 374, 532, 408, #头部颜色值, 1, 0, x, y)

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数网络安全工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注网络安全获取)
img

还有兄弟不知道网络安全面试可以提前刷题吗?费时一周整理的160+网络安全面试题,金九银十,做网络安全面试里的显眼包!

王岚嵚工程师面试题(附答案),只能帮兄弟们到这儿了!如果你能答对70%,找一个安全工作,问题不大。

对于有1-3年工作经验,想要跳槽的朋友来说,也是很好的温习资料!

【完整版领取方式在文末!!】

93道网络安全面试题

内容实在太多,不一一截图了

黑客学习资源推荐

最后给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

😝朋友们如果有需要的话,可以联系领取~

1️⃣零基础入门
① 学习路线

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

image

② 路线对应学习视频

同时每个成长路线对应的板块都有配套的视频提供:

image-20231025112050764

2️⃣视频配套工具&国内外网安书籍、文档
① 工具

② 视频

image1

③ 书籍

image2

资源较为敏感,未展示全面,需要的最下面获取

在这里插入图片描述在这里插入图片描述

② 简历模板

在这里插入图片描述

因篇幅有限,资料较为敏感仅展示部分资料,添加上方即可获取👆

一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!

AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算

486d4c3ab8389e65ecb71ac0)

AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算

  • 29
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值