首页
社区
课程
招聘
[分享]游戏反外挂的一些建议和想法
发表于: 2018-6-1 17:09 10304

[分享]游戏反外挂的一些建议和想法

2018-6-1 17:09
10304

一. 对抗基于内存扫描定位变量内存地址

在编程中,通常使用8位,4位,2位或者1位内存来保存数值。比如单机游戏中,生命数用整数型变量保存,使用内存修改工具多次扫描内存变动情况,即可较容易找到变量内存地址,修改或者锁定相应的内存地址即可达到作弊的目的。


使用单变量保存的方式很容易因数值变动,被快速定位内存地址。为避免这种情况,我们不妨用多变量组合存储的方式。比如一个变量原本为4位整数型变量,我们可以10个8位整数型变量采用求和的方式来表示。当需要修改这个组合变量的时候,采用随机方式选取其中的3个变量,使用随机数填充其中2个变量,采用求和的方式计算出第3个变量的值,使得这个求和值等于要修改的值,或者简单加密一一对应映射成需要修改的值。


组合变量可使用多个子变量,多个随机数值,多种计算方法的组合方式表示同一个数值。甚至在读取数值的时,可随机修改子变量的随机数值来迷惑对抗内存扫描。数值变动与同一内存地址数值变动不存在一一对应关系,这使得扫描变量内存地址将成为不可能。




二. 改善和提高游戏的报告作弊功能

我觉得现在好多游戏的报告作弊功能并没有发挥其应有的作用,反而成为了一种拖累。就拿绝地求生来说,玩家基数多,报告作弊行为跟着多,审核全部作弊行为成为不可能,只能是通过场次击杀数,被举报次数多等多一些疑似作弊行为的才会被处理,玩家举报作弊行为的用户体验非常差,可以从两个方面着手改善和提高这个用户体验:

1. 为报告作弊明显程度分级

一个非常明显的例子,作弊玩家非常短的时间内穿墙团灭了一个4人队伍,这个作弊行为是非常明显的,但是给予的举报作弊界面是非常简陋的,没有表达出受害玩家对作弊行为的肯定程度。

作弊行为的肯定程度按百分比划分,100%与10%的赞成要表达的肯定程度,是两个完全不同的概念。现在的做法是将100%与10%的肯定程度都混在一起进行处理,玩家是可以给出这个肯定程度的,忽略这个肯定程度的区别,这明显是不合理的。


2. 为报告作弊行为引入奖惩机制

现在是胡乱举报没有惩罚,导致了需要浪费精力来处理非常多的无效乱举报,成功举报也没有奖励,这就使得举报作弊行为是混乱不堪的。解决办法是找到并团结拥有识别作弊行为能力的诸多玩家,通过有效奖励方式使得其积极成为识别作弊行为有力帮手,优先处理其高肯定程度作弊的报告,使得有效的作弊报告能得到及时审核处理。

怎么找到拥有识别作弊行为能力的玩家呢?基于举报作弊历史的审核通过程度不同,根据经验为其设置相应的信誉权值。信誉权值越高说明其举报的作弊行为的信息就越有价值,就可以奖励回报他与反馈适时提高其信誉权值。信誉权值越低说明其举报的作弊行为的信息就越没有价值,就可以忽略其举报行为与反馈适时降低其信誉权值。  

经常吃鸡的高手和落地成盒的萌新,他们的识别作弊能力肯定是不一样的。游戏积分也体现出这个能力,游戏积分兑换为相应的举报能力积分,在报告的时候可以选择是否消耗举报能力积分来增加举报的肯定性,根据报告的作弊肯定程度消耗相应的举报能力积分,再根据作弊识别结果奖励相应的举报奖励积分。

当选择消耗举报能力积分进行报告时,使得胡乱举报会被白白消耗掉举报能力积分,使得配合成功举报会得到相应的奖励,这会在很大程度上解决现在胡乱举报的行为,可以极大提高玩家的有效作弊报告概率。

现在通过信誉权值,举报能力积分和其报告的各作弊肯定程度通过审核的次数,概率等,使用较小的消耗,即可完成大概率是有效的作弊报告的筛选工作,再进行下优先级安排,剩下的事情就是审核下这些大概率作弊报告即可。


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

最后于 2018-6-5 15:40 被dfgsfgs编辑 ,原因: 格式太乱
收藏
免费 0
支持
分享
最新回复 (25)
雪    币: 5676
活跃值: (1303)
能力值: ( LV17,RANK:1185 )
在线值:
发帖
回帖
粉丝
2
1的问题是,你有没有考虑过游戏更重要的一点,运行效率
2018-6-1 17:36
0
雪    币: 10967
活跃值: (2930)
能力值: ( LV5,RANK:71 )
在线值:
发帖
回帖
粉丝
3
smart
2018-6-1 17:37
0
雪    币: 227
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
holing 1的问题是,你有没有考虑过游戏更重要的一点,运行效率
是的,这个可以用在不需要频繁读取和修改的较为重要的数据上。
2018-6-1 18:32
0
雪    币: 1176
活跃值: (1264)
能力值: ( LV12,RANK:380 )
在线值:
发帖
回帖
粉丝
5
dfgsfgs 是的,这个可以用在不需要频繁读取和修改的较为重要的数据上。
1.
游戏开发人员  会不会care这个事    你这个建议是给他们增加负担.  你是要他们加班啊。。
当然独立出来一个游戏安全部门来做出个sdk      但是有这样的实力的有几家公司呢  当然  这几家公司也占领了绝大部分游戏市场   
你还要稳定性  游戏运营/业务部门才是大佬    不稳定  下一次肯定不给你测
2.
想的太美好
2018-6-1 18:57
0
雪    币: 8188
活跃值: (2852)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
6
1、你说的第一点已经是N年前就废弃的思路了,第二点已有的生成或者获取“随机数”方式都能通过无数方式对抗,也就是你想的方式其实早就有程序猿思考过了并实现了,最简单就是编译器就有基址随机化,或者存储这些内容的内存地址是申请出来的,而不是静态数组;
2、参考暴雪,只要钱到位,人肉审核算啥。
2018-6-1 22:09
0
雪    币: 140
活跃值: (125)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
7
没那么麻烦,一套简单的数据统计就能解决问题
2018-6-1 23:51
0
雪    币: 12502
活跃值: (3058)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
8
一来效率不允许,二来技术上很难实现,因为好多游戏都是用了一些开源或者不开源的框架的,很多人物属性变量不是完全由你操纵的,你的boss不会允许你慢慢改这个框架的
2018-6-2 00:17
0
雪    币: 227
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
Tennn 1. 游戏开发人员 会不会care这个事 你这个建议是给他们增加负担. 你是要他们加班啊。。 当然独立出来一个游戏安全部门来做出个sdk 但是有这样的实力的有几家公司呢 当然 这几家公司也占 ...
1.  我觉得应该不是很复杂,作为面向对象语言,比如C++,把原来的int换成自定义的类型,自定义类型再重载其与基础数据类型的等号和其他操作符后,和基础数据类型没什么大的区别

2.  当然肯定不是百分百能解决外挂问题的,但是效率应该是比现在这样好很多吧
最后于 2018-6-2 09:18 被dfgsfgs编辑 ,原因:
2018-6-2 08:38
0
雪    币: 227
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
layerfsd 1、你说的第一点已经是N年前就废弃的思路了,第二点已有的生成或者获取“随机数”方式都能通过无数方式对抗,也就是你想的方式其实早就有程序猿思考过了并实现了,最简单就是编译器就有基址随机化,或者存储这些内 ...
1.  这个也是拍脑子想出来的,不知道走在前面的各位前辈已经(ˇˍˇ)  想~好了
2.  问题是现在蓝洞没那么多钱搞外挂问题吧,我觉得这样可以提高很多效率吧,目前都是举报多了才处理
2018-6-2 08:42
0
雪    币: 227
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
白菜大哥 一来效率不允许,二来技术上很难实现,因为好多游戏都是用了一些开源或者不开源的框架的,很多人物属性变量不是完全由你操纵的,你的boss不会允许你慢慢改这个框架的
框架只是实现了底层吧,数据结构还是要自己定义吧。
最后于 2018-6-2 08:52 被dfgsfgs编辑 ,原因:
2018-6-2 08:43
0
雪    币: 12502
活跃值: (3058)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
12
dfgsfgs 白菜大哥 一来效率不允许,二来技术上很难实现,因为好多游戏都是用了一些开源或者不开源的框架的,很多人物属性变量不是完全由你操纵的,你的boss不会允许你慢慢改 ...
不是,我没表达好,我说的不是这种sdk,我是说,有些集成工具,里面都是一键生成各种人物属性什么的,战斗公式也是内定的,具体来说,就是某个程序员,可能并不很懂c或者cpp,这种情况是有的
2018-6-2 14:58
0
雪    币: 12502
活跃值: (3058)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
13
可以理解为,他可能并不懂D3D,不懂opengl,不懂碰撞检测和各种几何知识,更不懂什么摄像机原理之类的,他也不去关注每个数据在内存里的表现形式,可能他的游戏本身就是运行在一个庞大的虚拟机下的。这种情况是有的
2018-6-2 15:01
0
雪    币: 12502
活跃值: (3058)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
14
而且,你也太小看那些做g的了,你仅仅是看的一些入门教程,以为他们就会那么耿直的搜索增加减少,事实上,通过内存拍照和接管你的内存占用信息,用数学统计线性回归,照样可以找到你的关键数据的,你说你加密,又不可能用太多太复杂的加密算法,最多几十个。
2018-6-2 15:07
0
雪    币: 227
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
白菜大哥 而且,你也太小看那些做g的了,你仅仅是看的一些入门教程,以为他们就会那么耿直的搜索增加减少,事实上,通过内存拍照和接管你的内存占用信息,用数学统计线性回归,照样可以找到你的关键数据的,你说你加密,又不 ...
嘿嘿,这个还真是没对做G有较深了解。
2018-6-2 17:28
0
雪    币: 248
活跃值: (3789)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
第一点,既然变量内存地址被随机了,那就不改变量内存地址,直接改代码就完事
第二点,信誉权值的出现又会滋生新的外挂利益链,比如,就开n个号去作弊,让玩家去举报从而快速提高信誉权值
做挂的同学看过来,不谢
2018-6-2 18:22
0
雪    币: 9479
活跃值: (757)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
2条都不可取,产品首先要先上架,有人玩才行,后续的事情交给以后来做,因为有可能都不是一个团队了。
2018-6-2 19:34
0
雪    币: 12848
活跃值: (9147)
能力值: ( LV9,RANK:280 )
在线值:
发帖
回帖
粉丝
18
三、基于法务部门和公检法系统的线下反作弊机制  (手动滑稽
2018-6-5 09:56
0
雪    币: 153
活跃值: (27)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
反外挂  看TX  直接抓啊
另外并不是所有外挂都会使公司产生损失的,他们甚至可以互惠互利
2018-6-5 11:05
1
雪    币: 227
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
hzqst 三、基于法务部门和公检法系统的线下反作弊机制 (手动滑稽
-_-#
2018-6-5 15:42
0
雪    币: 227
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
XSJJ 反外挂 看TX 直接抓啊 另外并不是所有外挂都会使公司产生损失的,他们甚至可以互惠互利
绝地求生不是吧?!!
2018-6-5 15:44
0
雪    币:
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
hzqst 三、基于法务部门和公检法系统的线下反作弊机制 (手动滑稽
你被喝茶过。。。我看出来了(手动心疼)
2018-6-6 21:14
0
雪    币: 302
活跃值: (246)
能力值: ( LV4,RANK:45 )
在线值:
发帖
回帖
粉丝
23
hzqst 三、基于法务部门和公检法系统的线下反作弊机制 (手动滑稽
哥们你是搞外挂吧
2018-10-30 14:40
0
雪    币: 3676
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
网游就是骗小朋友们的钱,建议zf把那些做网游的都约去喝茶,问问他们是怎么骗钱的,是怎么坑害青少年的
2018-12-9 23:19
0
雪    币: 62
活跃值: (106)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
隔着网线来抓你
2018-12-11 09:14
0
游客
登录 | 注册 方可回帖
返回
//