3

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

有没有万无一失的方法来阻止这种情况?(我认为 xbox live 集成使破解高分成为不可能,但那是为特殊的人准备的)

4

3 回答 3

4

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

  1. 加密。不要以明文形式保存分数。有许多强大的加密方法可供您利用,除非试图读取它的人拥有密钥,否则这些方法将使记分牌变得无用。

  2. 如果您将分数发送到 Web 服务,切勿以明文形式发送(再次)。根据我自己的经验,我可以说 Web 请求很容易被更改和嗅探。因此,如果我看到应用程序发送http://yourservice/sendscore?user=Den&score=500,我不妨调用http://yourservice/sendscore?user=Den&score=99999999。如果您计划使用标题,同样适用。

请注意,只有注册 Xbox 开发者才能使用 Xbox Live 服务,而这并不容易获得。

于 2011-05-09T14:33:16.893 回答
2

首先 - 高分列表真的那么重要,以至于您担心边缘情况(普通人不会拥有能够修改 *.xap 文件的开发者解锁手机)吗?

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

于 2011-05-09T13:36:38.237 回答
2

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

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

于 2011-05-09T13:37:10.627 回答