Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >手游面对的安全风险都有哪些?

移动游戏行业近年来发展迅速,越来越多的人成为手游的爱好者,也吸引了众多外挂作者的注意,外挂在各种手游屡禁不止。而手游的安全风险除了外挂还有哪些?有哪些技术可以应对这些风险?游戏安全在行业中的重视程度有多高?

回答 10

zoiezhu

发布于 2018-04-26 06:23:11

移动游戏的安全风险主要包含以下几个方面:

1)通用修改器和通用变速器;

2)专用外挂;

3)破解版;

4)模拟按键;

5)打金工作室;

6)虚假刷屏和非法信息。

手游面对的安全风险主要在于破坏游戏平衡性,影响游戏者的使用感受,使大量游戏玩家因失望流失,破坏游戏口碑。

林岑影

发布于 2018-04-26 07:44:09

游戏安全系统存在的价值

安全系统存在的价值就是防范风险,其实最主要的还是保障游戏稳定,维护游戏生态系统的稳定,细分到具体措施,则要维护一个公平的游戏环境、保护玩家财产、以及协助政府进行监管。

  • 公平游戏环境

公平游戏环境的建立首先应该打击恶意玩家行为,保障玩家合理回报。游戏世界中也有金融体系,在真实的体系里面,就相当于中国的央行所做的事情,一个金融体系不稳定会极度影响游戏玩家的体验,对游戏的寿命和收入都会有较大影响。

  • 保护玩家信息安全

玩家的财产首先指的是帐号安全,其次是帐号内虚拟财产的安全,如用户的装备等。另外还有用户个人信息、LBS信息、支付信息等用户个人的隐私,在如今高度强调个人信息安全的大背景下,信息泄露会大大缩短游戏的生存寿命。玩家手机设备里包含用户的大量用户信息,这些数据如果被人非法利用,给游戏玩家带来的风险会更大。

  • 政府监管

玩家在游戏中建立了大量社交关系,极有可能会被非法的不良的信息误导,应配合政府监管其中的黄赌毒信息、非法的政治消息以及其他非法不良信息。

如何应对风险,完成安全风险系统的构建?

就反外挂系统而言,操作系统平台存在版本多样性,游戏开发语言也是多种多样,移动端的机型与系统版本更是五花八门,这些都提高了游戏安全系统的开发成本。

腾讯移动游戏安全系统
腾讯移动游戏安全系统

最表层的大致过程就是从各个社交渠道、游戏日志和安全系统采集到的游戏数据获得大量信息进行测试和分析,还原玩家游戏过程,在其中找到不合理的玩家行为,对无法获得取道样本的外挂进行覆盖。在数据传输层以基础加壳、进程访问限制、数据和协议加密、热补丁手段完成基础防护。

踏踏实实

发布于 2018-04-28 02:56:17

游戏为啥会有风险?

对于普通玩家而言,快速升级打怪与对稀有材料或购买这些装备的游戏货币的需求是最大的作弊诱因。正是这些普通玩家的需求产生了专业的供应方(打金工作室)。

防御有法律手段也有技术手段。法律手段一般是针对打金工作室的,一般可以以破坏游戏经济为罪名起诉,但实施效果真的不好。技术手段有游戏设计优化的(限制每日经济上限),也有依赖监控系统与反馈系统做事后代码修复(这个在页游公司最为常见),也有事前防御的(例如加壳,代码混淆,注入检测)更多应用于手游端。

起因就是因为玩家们的客观需求而产生的产业,但是又反过来危险着游戏玩家的信息和游戏安全,所以官方氪金为什么会存在大概就是为了尽可能满足这样的需求。

和开发者交流更多问题细节吧,去 写回答
相关文章
【Kotlin】类的初始化 ② ( 主构造函数 | 主构造函数定义临时变量 | 主构造函数中定义成员属性 | 次构造函数 | 构造函数默认参数 )
在 Kotlin 类中 , 可以在 类声明 时 在 类名后 定义 " 主构造函数 " ;
韩曙亮
2023/03/30
5.8K0
【C++】构造函数分类 ① ( 构造函数分类简介 | 无参构造函数 | 有参构造函数 | 拷贝构造函数 | 代码示例 - 三种类型构造函数定义与调用 )
无参构造函数 : 只负责为指针类型的成员变量分配内存 , 并赋值一个初始值 , 没有具体的赋值信息 , 该初始化只能为 成员变量 赋值一个默认值 ;
韩曙亮
2023/10/15
8130
【C++】构造函数分类 ① ( 构造函数分类简介 | 无参构造函数 | 有参构造函数 | 拷贝构造函数 | 代码示例 - 三种类型构造函数定义与调用 )
C++带参数的构造函数 | 有参构造函数
在C++中,程序员希望对不同的对象赋予不同的初值,可以采用带参数的构造函数,在调用不同对象的构造函数时,从外面将不同的数据传递给构造函数, 以实现不同的初始化。
小林C语言
2021/01/28
4.5K0
C++带参数的构造函数 | 有参构造函数
【Python】面向对象 ③ ( 构造函数 | 成员变量赋值问题 | 构造方法引入 | 构造函数可以同时定义成员变量 )
如果要为其成员变量赋值 , 需要分别为 name 和 age 两个成员变量赋值 ,
韩曙亮
2023/10/11
5060
【Python】面向对象 ③ ( 构造函数 | 成员变量赋值问题 | 构造方法引入 | 构造函数可以同时定义成员变量 )
构造方法或new返回该对象
一个小技巧,调用构造方法或都new返回该对象: function Person(){ // ... // 不是new的时候this指向的是调用者 默认是window if (!(this instanceof Person)) { return new Person(); } } Person.prototype.sayHello = function (){ console.log("Hello World!"); } var lufei = Person(); lufe
kai666666
2020/10/17
8460
【C++】构造函数调用规则 ( 默认构造函数 | 默认无参构造函数 | 默认拷贝构造函数 | 构造函数调用规则说明 )
如果 C++ 类中 没有定义构造函数 , C++ 编译器会自动为该类提供一个 " 默认的无参构造函数 " , 函数体为空 , 不做任何操作 ;
韩曙亮
2023/10/15
1.8K0
【C++】构造函数调用规则 ( 默认构造函数 | 默认无参构造函数 | 默认拷贝构造函数 | 构造函数调用规则说明 )
构造函数隐式转换_构造函数实例化对象
http://blog.csdn.net/thefutureisour/article/details/7705771
全栈程序员站长
2022/11/10
5190
java scanner构造函数_使用Scanner作为构造函数的参数的Java
这是一个学校任务的问题,这就是为什么我这样做的原因。使用Scanner作为构造函数的参数的Java
用户7886150
2021/04/26
3.3K0
【说站】js如何自定义构造函数创建对象
1、函数内部不需要new构建函数的过程,直接用this代替对象写属性和方法,也不需要return返回值。比工厂方法更方便。
很酷的站长
2022/11/24
2.9K0
【说站】js如何自定义构造函数创建对象
通过工厂函数、构造函数创建对象
当我们有多个变量的结构非常类似时,如下所示,反复书写结构过于麻烦,我们可以定义一个工厂函数来创建对象
很酷的站长
2022/12/21
9350
通过工厂函数、构造函数创建对象
C语言有参数宏定义与无参数宏定义
前两天上课,被JAVA老师问懵了,老师问:“你们学C语言,有没有写过带参的宏玩一玩”,说实话,我根本没听过什么带参的宏,我只用过宏定义,所以我下来一定要找个时间把这“带参的宏搞懂”,于是就有了这篇文章。        C语言中宏定义分两种,无参的宏和有参的宏 1.无参数的宏        无参数宏定义的一般形式为: #define name value//name是你起的名字,就跟起函数名一样,value是你要给这个名字赋予什么值 //示例: #include <iostream> using name
mathor
2018/06/22
3.1K0
【C++】拷贝构造函数调用时机 ② ( 对象值作为函数参数 | 对象值作为函数返回值 )
" 拷贝构造函数 " 又称为 " 赋值构造函数 " , 该类型构造函数有 4 种调用时机 ;
韩曙亮
2023/10/15
6080
【C++】拷贝构造函数调用时机 ② ( 对象值作为函数参数 | 对象值作为函数返回值 )
navigator对象属性_javascript构造函数
注意: 没有应用于 navigator 对象的公开标准,不过所有浏览器都支持该对象。
全栈程序员站长
2022/11/04
1.1K0
【Kotlin】Kotlin 构造函数 ( 主构造函数 | 主构造函数声明属性 | init 初始化代码块 | 次构造函数 | 构造函数委托 | 调用构造函数创建实例对象 )
1 . 构造函数个数 : Kotlin 类定义时需要指定主构造函数 , 还可以指定 0 ~ 多个次构造函数 ;
韩曙亮
2023/03/27
4.7K0
定义枚举的构造函数、方法和字段
import org.junit.Test; public class lan { @Test public void test(){ print(Grade.D); } public void print(Grade g) { String valueString = g.getValue(); System.out.println(valueString); } }
MonroeCode
2018/01/11
1.3K0
Python 函数的参数类型定义
函数的参数类型定义 参数定义类型的方法 def person(name:str, age:int=33): print(name, age) 函数定义在python3.7之后可用 函数不会对参数类型进行验证 代码 # coding:utf-8 def add(a: int, b: int = 3): print(a + b) add(1, 2) # add('hello', 'xiaomu') def test(a: int, b: int = 3, *args: int, **kw
Zkeq
2022/05/18
2K0
PHP面向对象-构造函数和析构函数
构造函数是一种特殊的函数,用于在对象创建时初始化对象的属性。每当创建一个新对象时,PHP都会自动调用构造函数。构造函数的名称必须与类名相同,并且可以带有参数。
堕落飞鸟
2023/04/27
7030
Java线程池及其构造函数参数的含义
在多线程编程中,线程池是一种常用的技术,它可以有效地管理和复用线程,提高程序的性能和资源利用率。Java提供了ThreadPoolExecutor类来实现线程池的功能,并且该类的构造函数提供了多个参数用于配置线程池的行为。本文将深入探讨Java线程池的特性以及构造函数参数的含义,帮助读者理解并正确使用线程池。
疯狂的KK
2023/09/22
3120
Java线程池及其构造函数参数的含义
C++|对象模型|合成构造函数
当我看到书中作者的这句话时,几乎是一身冷汗。老实说,我个人对于合成构造函数的理解的确是无则加,有则否。但是Stanley却直接指出了新手常有的这一误解。
朝闻君
2021/11/22
6060
理解构造函数与原型对象
在Es6之前,由于javascript没有对类的支持,也就是说它并不具备如传统后台语言(比如java)拥有类的功能,所谓类就是用来描述事物中的属性和行为的,类的特征是由成员组成的,而属性对应的就是类中的成员变量,而方法对应的就是类中的成员方法,这是传统oop语言的描述,然而在javascript中,虽没有类的概念,但是它往往是通过构造函数和原型对象来给对象模拟与类相似的功能,但是这些相似的功能并不一定表现的与类完全一致,其实创建构造函数的过程,就是创建模板的过程,类一定程度上与此相似,创建多个共享的特定的属性和方法,用于生成对象的饼干工具,主要目的是提高代码的可复用性,也提高了代码的性能,有时候,在我们无意间就已经在使用了这些特性,什么构造函数,原型,个人觉得,初次理解起来很是抽象,自己也是稀里糊涂的觉得实际开发中到底有什么卵用,也许后者在不涉及复杂的功能需求时,平时用得不多,显然Es6中已新增了类class的功能,越来越严格,越来越像后端语言,Es6,Es7新增的诸多方法也越来越强大,但是我觉得理解构造函数与原型对象还是有必要的,是js面向对象编程的基础,今天就我的学习和使用跟大家分享一下学习心得,初学者学习笔记心得,欢迎路过的老师多提意见和指正..
itclanCoder
2020/10/28
1.1K0
理解构造函数与原型对象

相似问题

部署函数没成功,求解?

0139

部署函数没成功。求解大神?

1218

如定义构造函数签名的接口?

2726

义构造函数为该课程类的所有成员变量赋值?

0122

TBaaS有用过的没?

11.1K
相关问答用户
腾讯云TDP | 先锋会员擅长2个领域
某公司 | 程序员擅长1个领域
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档