保护游戏高分的解决方案

时间:2011-05-09 13:32:23

标签: wcf windows-phone-7 xap

我的朋友通过参加WP7 papertoss游戏并从中获取.xap然后发布自己的高分证明了这一点。

有没有任何万无一失的方法可以阻止这种情况? (我认为xbox live integration会让黑客成为不可能的高分,但这对于特殊的人而言)

3 个答案:

答案 0 :(得分:3)

首先取决于如何发送高分。我只能假设你的朋友所做的是采取XAP并修改一些内部文件或跟踪用于将分数发送到集中位置的HTTP Web请求。我有两条建议给你。

  1. <强>加密即可。不要将分数保留在明文中。有许多强大的加密方法,你可以利用这些方法,除非试图阅读它的人有钥匙,否则会使记分板失效。

  2. 如果您将分数发送到网络服务,从不以纯文本(再次)发送。根据我自己的经验,我可以说网络请求可以很容易地改变和嗅探。因此,如果我发现应用发送http://yourservice/sendscore?user=Den&score=500,我也可以调用http://yourservice/sendscore?user=Den&score=99999999。如果您打算使用标题,则同样适用。

  3. 请注意,只有当您是注册的Xbox开发人员时,才能使用Xbox Live服务,这并不容易。

答案 1 :(得分:2)

首先 - 是一个高分列表真的很重要,你担心边缘情况(普通人不会有一个解锁电话能够修改* .xap文件)?< / p>

其次,没有。如果将高分列表本地存储在设备上,则没有万无一失的方法来保护您的高分列表。保护高分列表的唯一方法是通过Web服务或其他机制将其存储在云中。

答案 2 :(得分:2)

拥有安全的高分系统非常棘手,因为用户始终可以修改客户端的信息。阻止确定的黑客查看您的代码是不可能的,但是您可以通过混淆代码来使其变得更加困难。 PreEmptive's Dotfuscator目前可供Windows Phone 7开发人员免费使用,如果您想使用它,也会内置分析功能。这会使您的代码混淆,并使您的代码更难阅读。虽然这不是万无一失的,但这对黑客来说是一个额外的障碍。

混淆会使您更难找到用于验证高分的加密密钥。