我正在寻找一种方法,通过使用客户端服务器模型将重要的源代码保存在服务器中并将数据发送到客户端,来防止Java制作的游戏(如runescape )被黑客攻击。我的问题是,怎么可能做出这样的事情,任何信息链接或文章都会有帮助。
我还想知道,人们可以从服务器发送什么样的信息,这些信息也可以在3d图形引擎中渲染,或者是如何做到的?
发布于 2011-01-06 05:54:07
我也在想,人们可以从服务器发送什么样的信息,这些信息也可以在3d图形引擎中渲染,或者是如何做到的?
虽然我自己不是游戏/3D开发人员,但我发现这篇文章很有启发性(浏览他们的wiki了解更多!)
Source Multiplayer Networking valvesoftware.com
发布于 2011-01-06 05:50:38
你不能对被反编译的客户端做太多的事情--你可以混淆你的源代码,使其更难进行逆向工程。这将使获得可读的源代码变得稍微困难一些,但并非不可能。一个有决心和熟练的用户仍然可以对客户端进行反向工程。
但是,您可以在源代码无法恢复的服务器上执行大量工作。例如,您可以在服务器上为NPC和所有物理计算编写artifical intelligence代码,然后将结果发送到客户端。
事实上,这些类型的计算无论如何都应该在服务器上完成,以保持游戏的一致性,并防止客户端作弊。
客户端通常会执行大部分演示,例如3D渲染。出于性能原因,这通常是在本地完成的,以便渲染可以充分利用客户端中的图形卡。
发布于 2011-01-06 05:58:30
只要有足够的人力和时间,每个程序都可以进行逆向工程。如果你能给一组测试人员/开发人员提供程序使用一段时间,他们将能够模仿它的功能。一个很好的例子是MMORPG游戏(想想Ultima Online和大量模仿它并与UO客户端协同工作的开源分片)。
你可以混淆代码,使其难以反编译等,但在项目开始时,这是超过过度杀伤力的。做一些人们愿意付钱的东西,采取最基本的源代码保护措施,然后依靠版权法来保护你不受后备工程的影响(这并不完美,但没有什么是完美的)。
https://stackoverflow.com/questions/4609529
复制相似问题