Articles of 安全

如何从p2p游戏networking中的客户安全地检索游戏统计信息?

我正在做一个P2P游戏,我知道我永远不要相信客户。 我的架构中,有一个存储游戏室(主机)信息的“主服务器”。 玩家可以创建自己的房间(托管)并一起玩。 还有另外一个服务器是“信息服务器”,它存储了诸如库存,等级等字符信息。现在,我需要制作一个杀死/死亡的统计表,并且我必须从主机玩家>> [事件] >>主服务器)。 但是我认为主玩家可以发送很多杀人事件,因为它是权威的,所以主服务器会处理/处理来自主玩家的所有事件。 我怎样才能相信这些事件? 服务器不能发送假死/死亡事件?

为RakNet建立的自定义mod是否可以自动用于Unity?

背景:为开发处理手机游戏的服务器开发一个安全模块,我感到很有趣,我希望它可以被大多数人使用。 所以我正在试图决定我想要构建它的服务器软件。 我正在研究RakNet,它具有吸引力,因为它有两种方法:独立的,作为Unity3Dnetworking解决scheme的一部分。 所以这个软件被那些想要使用Unity3D的开发者以及那些不使用Unity3D的开发者所使用。 我的问题是:如果我在RakNet中创建了一个实现我的安全系统的修改,那么这个解决scheme是否也会自动与Unity兼容呢?

基于javascript的游戏控制台漏洞

一段时间以来,基本的基于浏览器的游戏一直在玩,并深入到客户端脚本的漏洞。 我足够了解,没有客户端脚本是安全的。 永远。 但是我不完全了解到什么程度。 使用Chrome的开发人员工具,我知道我可以随意设置variables – 即使Object.freeze和Object.seal也可以被克服。 我也知道我可以在关键点放置断点,并使用控制台读取variables值。 现在,假设我有一个函数checkStep() ,每次玩家在网格上移动时都会触发。 它发送一个空白的ajax请求,服务器只返回一个布尔值来表示随机战斗是否已经开始。 如果用户能够重写/禁用这个checkStep() ,他们可以有效的消除随机战斗。 有没有办法从控制台命令行重新定义或禁用function? 如果你一心想阻止这个function被解雇,你会怎么做? 你能做到吗? 编辑很明显,我措辞不佳。 接受当前的答案并重新发布。

MMORPGdevise问题:在客户端计算机上存储一个瓦片地图,安全问题

在我的游戏中,客户端login并从服务器接收由瓦片(高度和地形types不同)组成的地图。 我将这些瓷砖存储在客户端上的SQLite数据库中。 客户端下一次login时,它将与服务器通信它已经拥有地图。 这可以节省服务器上的networking负载和CPU,并减less加载时间。 现在我想知道我是否做对了。 因为玩家很容易在当地的SQLite数据库中修改图块,所以把一座山变成平坦的客户端,然后走过去。 我当然会在服务器上实现一个一次挑选一个或几个玩家的系统,并检查他们的报告位置是否有效(如在他们不是黑客攻击),但是我不能经常对所有人执行这些检查出于性能原因。 这带来了以下问题: 我可以在本地encryptionSQLite数据库吗? 我会隐藏代码中的密钥吗? 那安全吗? 客户能find钥匙吗? 即使我没有将其存储在数据库中,地图是否可以在客户端上进行更改? 感谢大家

Android上的HTTPS WWW(Unity)无法正常工作

我正在使用我的团队用于与服务器进行通信的原生android插件,因为它使用HTTPS,所以我使用它的证书。 一切都很好,问题是,在Unity中,当我尝试使用任何HTTPS的WWW,我得到这个错误 V / com.facebook.unity.FB:发送到Unity OnLoginComplete({“error”:“findexception:javax.net.ssl.SSLHandshakeException:java.security.cert.CertPathValidatorException:未findauthenticationpath的信任锚点” “callback_id”: “5”, “key_hash”: “XXXXXXXX”}) 当我尝试使用Facebook SDK将图片发布到用户的时间表时,我收到了这个错误。 查看源代码,它使用Unity的WWW作为POST。 如果在Unity中我永远不会调用我的原生插件的方法,那么一切都很好。 有什么办法可以解决吗? 不知何故安装另一个证书? 使用一些不同的标题? 任何帮助将是伟大的,谢谢。

大量的string被使用,但如何存储它们?

这是我一直想要问的问题。 我已经想了一下,有一些想法,但我不确定哪个是最安全的,并且会以最高的效率给我提供最多的function。 对于我的游戏(是一个故事游戏),我有很多的string,我将需要显示。 我决定把这个故事分成几章,每一章都是一个新的场景(这样我可以组织本章的内容)。 我在想的是,我可以用这个章节的内容编写常规的文本文件,而且高效实用,这似乎是非常不安全的。 然后我想,为什么不把它放在一个单独的C#文件中的大型string数组。 那么这更安全,但它不是很实际,效率较低。 所以我在这里发现了两个极端。 以安全,高效和function的方式处理大量string的最佳方法是什么? 相比于我的两个极端,想想一个快乐的媒介。

Windows Phone XNA监视存储数据

对于一个典型的Windows手机游戏,其存储文件可能包含高分或游戏中的货币数据,如何防止这些文件被用户篡改?

如何devise游戏服务器来缓解DDOS攻击

我正处在一个基于回合的游戏的devise阶段,在服务器上的负载很低(每个用户每10秒钟<1个消息,每次<50,000个用户)。 游戏是多平台的。 该协议尚未确定。 如何通过devise来缓解对这样的服务器的DDoS攻击?

模糊的原始数据types作弊

即时尝试创建轻量级值obscurer,反对可能性公然更改内存编辑器中的原始值。 如作弊引擎。 这就是我所要做的。 /// <summary> /// Obscure for type int. /// </summary> public class ObscuredInt{ public ObscuredInt() { this.value = 0; } public ObscuredInt(int value) { this.value = value; } private int _a; private int _b; /// <summary> /// Current obscure value. /// </summary> public int value { get { return _a + _b; } […]

使variables公开,或使函数获取/设置variables?

愚蠢的问题,但我希望我的游戏尽可能安全。 现在我有相互连接的类来保存/加载玩家信息。 现在我把我的类中的所有variables都公诸于众,并将保存的variables保存/加载到它们中。 但我不认为这是安全的。 码: public class PlayerRP : MonoBehaviour { public string charName; public string charRace; public string charClass; public string charClassSpec; public string charBackground; public string charGender; } public class CharacterManager : MonoBehaviour { public void SaveCharacter() { BinaryFormatter bf = new BinaryFormatter(); FileStream file = File.Create(Application.persistentDataPath + slotFile); CharacterSaveFile data = new […]