资源海

 找回密码
 立即注册
查看: 8276|回复: 59

[交流] FPS自瞄思路及防御【上】

  [复制链接]
UID
1707
主题
1180
精华
0
积分
4676
发表于 2020-5-10 16:39:28 | 显示全部楼层 |阅读模式
你是否在游戏中遇到"高手"?不论是预判还是枪法都是一流,只要你露个头,就会瞬
间被带走。躲在箱子,墙壁后面也无济于事,“高手”们还是可以轻松的找到你,有的甚
至会“预判 ”,直接对着障碍物穿箱扫射,直接带走躲在后面的敌人。这些人仿佛长了
“上帝之眼”,总能知道你躲在何处,仿佛落地自带八倍镜,“八百里开外”一枪爆头。
究竟是真高手,还是“神仙”?仁者见仁智者见智。
    透视自瞄——fps 玩家永远甩不掉的梦魇,fps 游戏最大的恶性毒瘤。
163759uyj777j6y76ppns7.jpg                                                
从最早的 cs,到现在的吃鸡,都深深的受其毒害,无一幸免。那么该功能影响如此
恶劣,为何游戏公司迟迟不将其和谐(封禁)?不是游戏公司不想,而是根本无能为力。
与其它修改内存类辅助不同,自瞄完全可以在不修改内存的情况下用纯算法,配合鼠标移
动,外设等硬件设备实现。严格意义上来说,自瞄算不上外挂,如图色自瞄,只是一种模
拟人工,代替玩家实现瞄准的辅助。当然,某些直接修改内存准星数据实现的自瞄,已经
达到外挂定义的范畴,而这种自瞄,也相对好检测。那么透视呢?其实自瞄就相当于知道
了敌人的位置,透视只需将其所在位置画出来。
假设笔者是该游戏安全人员,同时也是给相关同行的建议,针对自动瞄准,应该如何检测:
1、模拟类自瞄
一、Hook windows 所提供的所有按键操作、鼠标操作类接口,函数全部由游戏安全系统
接管。
二、既然 Hook 了相关函数,那么就可以被突破,Hook 被还原,还要在代码段上下 crc,
防止被还原 Hook,在 crc 上多次套 crc,多设防御关卡。
三、检测鼠标轨迹和移动速度,没有谁可以一直直线移动鼠标。
2、内存类自瞄
一、Hook windows 所提供的所有“写内存”类接口,如 WriteProcessMemory(),
函数全部由游戏安全系统接管,检测到非自身或者未知程序调用该类型函数对游戏进行操
作时,将其踢下线。
二、同模拟类自瞄第二条。
三、同模拟类自瞄第三条。
四、加密鼠标横轴(x 坐标),且多个地址同步准星数据,当非法修改了准星位置,即准
星数据不同步,即可知道非法修改了内存。
那么接下来,同笔者一起分析,透视自瞄究竟是如何实现的呢?
其实只要实现了自瞄,就相当于实现了透视,只是需要开发者通过一系列算法将其绘
制在屏幕上而已。而实现自瞄,对于有相关工作经验的人来说,也算不上难,一套公式,
几乎“通杀”所有 FPS。自瞄算法可以简单的分为两种,一种通过玩家坐标和准星位置进
行计算,一种为”矩阵自瞄“,计算模型骨骼等等,其实两种自瞄本质意义上区别不大,
各有各的好处,只不过第二种更为精准,第一种则更为方便,需要的数据更少。
那么实现基本自瞄,需要的数据有哪些?笔者做了一个简单的总结:
1、视角、即 FOV
作用:计算敌人是否在屏幕可视范围内。
2、修改有效的准星数据地址或瞄准 call
作用:填入敌人所在坐标,实现自动瞄准
3、敌我坐标,即敌我 X Z Y 坐标
作用:计算出敌我距离,敌人所在”圆的位置。
知晓了所需数据,下一步?当然是实践了,说得再好,想得再美,不如亲自动手实践。
首先是寻找视角(FOV)的思路,在这里再详细的了解下视角,视角即你所能看到的范围,
在 FPS 游戏种,可以理解为你屏幕上所能看到的,那应该如何寻找这一屏幕所视?
熟悉 FPS 的都知道,在游戏中存在着”狙(和)击(谐) 抢“,(qiang 为敏感词,
以下用 xx 代替), 而这种 XX,有着瞄准镜,在进行瞄准的时候,可视距离变远,同时可
视范围是不是变小了呢?没错,这就是很好的突破口。
根据以往分析的经验,这种表达坐标/范围的地址,往往都是浮点型,或者双浮点型,
那么在未开镜的情况下,CE 先尝试搜索未知的浮点型,如下图所示:
163800jbsz4vcm2cz24ekt.jpg                                       

然后进行第一次开镜,如下图所示
163800a0fexl1hm2d8fylf.jpg                                                                         
开镜后,是不是如先前分析,所看到的物体变大,同时可视范围变小了呢?,那么搜索,
减小的数值,如下图所示:
163801gtd96kfo7fcki4ig.jpg                                     
再次进行二次开镜,缩小可视范围,重复以上步骤:
163801mh32ne415i5jecnc.jpg

163802wp17g7bs11ssg7sp.jpg                                              

关闭狙击镜之后,搜索增加的数值,如下图所示:
   163803wvgwjvqzjqvgigve.jpg                
    163805pv4laztyagoo3oo4.jpg               

来回重复几次赛选之后,发现的绿色的地址,即为基地址,那么可以直接拿来使用。
(防止恶意用途,地址打码)
             163806yihvpa23haghgoai.jpg

回复

使用道具 举报

UID
1585
主题
0
精华
0
积分
2401
发表于 2020-7-28 19:58:58 来自手机 | 显示全部楼层
东方不败外加灭绝师太啊!
回复 支持 反对

使用道具 举报

UID
1669
主题
0
精华
0
积分
2381
发表于 2020-7-26 18:19:54 | 显示全部楼层
读了楼主的帖子,顿时马桶就通了。。。
回复 支持 反对

使用道具 举报

UID
1704
主题
0
精华
0
积分
2364
发表于 2020-7-26 18:00:09 来自手机 | 显示全部楼层
确实不错,顶先
回复 支持 反对

使用道具 举报

UID
1653
主题
0
精华
0
积分
2348
发表于 2020-7-26 10:35:13 来自手机 | 显示全部楼层
好,很好,非常好!
回复 支持 反对

使用道具 举报

UID
1672
主题
867
精华
0
积分
4064
发表于 2020-7-25 10:53:40 来自手机 | 显示全部楼层
楼主好聪明啊!
回复 支持 反对

使用道具 举报

UID
1692
主题
0
精华
0
积分
2317
发表于 2020-7-25 05:56:07 | 显示全部楼层
今天皮痒了?
回复 支持 反对

使用道具 举报

UID
1636
主题
0
精华
0
积分
2376
发表于 2020-7-23 16:49:13 来自手机 | 显示全部楼层
有节操!
回复 支持 反对

使用道具 举报

UID
1722
主题
0
精华
0
积分
2436
发表于 2020-7-23 13:42:01 来自手机 | 显示全部楼层
信楼主,得永生!
回复 支持 反对

使用道具 举报

UID
1662
主题
0
精华
0
积分
2389
发表于 2020-7-22 12:13:48 来自手机 | 显示全部楼层
白富美?高富帅?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

发布主题 快速回复 返回列表 联系我们 官方QQ群 这是一个自定义按钮

Archiver|手机版|小黑屋|资源海

GMT+8, 2020-9-19 21:06 , Processed in 0.418940 second(s), 125 queries .

Powered by X3.2

© 2001-2088

快速回复 返回顶部 返回列表