首页
社区
课程
招聘
[原创]手游反外挂-反内核物理访问内存方案思考
发表于: 2天前 1924

[原创]手游反外挂-反内核物理访问内存方案思考

2天前
1924

前言

近两年手游外挂太过猖獗,游戏体验十分之差,不论是某公司旗下全民Moba手游,还是某公司旗下某暖暖手游和某摸金类手游,这几个游戏都是我常玩爱玩的,但是遇到外挂的几率高到离谱!

鄙人对于游戏外挂原理也有一些研究,长期以来也观察了目前的手游外挂类型,其中最大比例的是内核读物理内存方案,类似于多年前PC端的驱动方案,通过内核级别权限通过页表将虚拟地址转换为物理内存地址,并映射访问。

但从我个人角度观察来看,某手游公司对于此类外挂的对抗过于正面:
1.设备环境检测
例如内网设备特征、设备编译信息、文件特征、端口特征、root检测等
调试过程中发现,还有一些涉及到用户隐私的信息也被收集,实在有点过于了。

2. AI 行为检测
FPS游戏通过准心角度、操作行为等进行分析。
MOBA游戏对于无视野操作行为进行分析。
我认为此类方案可行,但不应设定太高的权重比例,容易导致许多高玩用户被误封

3.举报机制
目前的某公司旗下手游的举报机制真的不得不让人吐槽,权重太高!!!
导致误封的不在少数,甚至自己举报自己开挂都能封号!? 虽然只封1/3/7天,但真的非常恶心人,明摆着的外挂不封,反而正常玩家玩的好被举报多了就封号,实在让人没有玩下去的兴趣。

我认为游戏公司不应在举报机制上下功夫,因为玩家总喜欢在被击败后举报对手,一旦举报机制和行为检测机制的权重比例不合理,就会导致大批用户被误封!!例如某个新出的手游,正在经历此情况!

我通过在各类外挂群潜伏观察发现,各种外挂的功能之变态,还不被封号,主要利用所谓的“端口”技术,我通过逆向技术分析,其实则是抓取游戏安全协议封包,伪造心跳、屏蔽关键字等手段,使其封号指令无法送达服务端,大部分还拦截了安全后台推送的检测脚本文件下发,对于这一类,我认为是由于其安全协议设计有部分缺陷导致,例如许多包类型,居然没有校验其包序号、校验和、内容有效性等

设想的一种能解决内核外挂的方案

我通过分析发现,其公司旗下某个MOBA手游,能将坐标指针的内存设定为不可访问。也就是 --xp,那么在此基础上,再通过madvise MADV_PAGEOUT标志,请求将内存页面交换到磁盘,用来保护核心的一些数据,例如玩家数组,坐标指针等这类不频繁访问的数据,不就可以很大程度上防止内核外挂了吗?

外挂程序不论实现透视还是自瞄,都需要坐标指针和玩家对象列表,但通过内核访问物理内存,已经交换到了磁盘的页面是处于缺页状态,外挂也就无法获取其实际数据,若要获取其数据,必然触发缺页中断,再交换回物理内存中,此时则可通过检测页面是否在物理内存中,来检测内存是否被非法程序所访问。
若是自身需要此数据时,由于数据处于磁盘中,并不会丢失,那么再通过特定的方法来处理,我认为能解决百分之80的外挂程序,因为据我了解,大部分的外挂程序作者,都没有什么技术,而造成手游如此困境的正是此类人!这类人抓是抓不完的,不如提高门槛,再通过法律手段来打击剩下的那部分人。

附言

若是此思路无用,那各位全当是个吐槽贴。
最近打新出的某双玩法手游真的被恶心吐了,观战队友都是挂,举报都不封的。
有时候举报封了,也就封对方1天、3天,我在意的是对方封几天吗?我在意的是我带进局内的物资啊!!你确定他是挂了,倒是把物资回退给我呀,太难受了。


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 2
支持
分享
最新回复 (2)
雪    币: 1281
活跃值: (4540)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
2
但凡加解密上点强度都能挡住一批人
2天前
0
雪    币: 147
活跃值: (340)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
上点加密强度就好了,不用这么麻烦
1天前
0
游客
登录 | 注册 方可回帖
返回
//