秘密服务器协议保持软件免费

时间:2012-10-09 18:33:43

标签: c protocols network-protocols

我目前正在学习C语言中的基本网络,而且我对互联网的一个“模糊”部分感兴趣:秘密协议。

假设我开发了一款多人在线游戏。我会设计自己的协议来打包和解包数据,因此客户端和服务器都可以正确地发送,接收和解析信息(例如:位置数据包,施法等等)。当然,我不希望该协议属于公共领域,因为任何想在我的服务器上制作“坏东西”的人都能够做到这一点。但我想保留我的项目免费软件。

那我该怎么办?你能告诉我如何保持我的假设项目的开源,而不是让它不安全吗?

提前致谢

2 个答案:

答案 0 :(得分:6)

不可能 - 如果您提供源代码,您还提供协议的实现。你无法确保门敞开的东西。相反,您专注于保护ACCESS到服务器端的东西。

e.g。当你应该专注于通过他们的身份证来过滤英语使用者时,你试图阻止人们知道你的应用程序会说英语。

答案 1 :(得分:3)

您可以使用加密,而不是在开源中包含客户端密钥。但是,由于您必须将其包含在客户端中,因此很容易被黑客入侵。始终可以破解您的服务器,但在许多情况下,您可以在服务器中保持控制和验证。例如,服务器可以跟踪您携带的许多金币,客户可以告诉服务器购买X金件的新工具。服务器可以轻松验证交易并保留库存。移动也是如此:服务器知道客户端在哪里以及他们可以去哪里。尽管如此,这并不能阻止机器人。