【发布时间】:2012-09-06 11:18:52
【问题描述】:
我有一个项目,我应该跟踪每个访问游戏的用户的高分。但是,这些数据将保存在需要保护的数据库中,以防止用户想要在其中插入更好的分数。
此外,闪存应用程序可以反编译,以便可以查看、复制数据格式并将其设置到数据库管理脚本中。
什么是保护这方面的好方法?
提前谢谢你!
【问题讨论】:
标签: php mysql actionscript-3 flash
我有一个项目,我应该跟踪每个访问游戏的用户的高分。但是,这些数据将保存在需要保护的数据库中,以防止用户想要在其中插入更好的分数。
此外,闪存应用程序可以反编译,以便可以查看、复制数据格式并将其设置到数据库管理脚本中。
什么是保护这方面的好方法?
提前谢谢你!
【问题讨论】:
标签: php mysql actionscript-3 flash
在反编译方面,我认为代码混淆是你应该考虑的事情。对于反编译您的代码的人来说,它应该使数据跟踪更加困难。
无论如何,请记住,如果有人真的想破坏您的安全,他们可以而且愿意。请参阅:PS3 在线服务。一些预防措施是好的,可以防止普通乔斯试图打破你的高分,但你能做的只有这么多......被黑客入侵真的是不可避免的。
关于PHP中的记分牌保护,看这个问题,有很多精彩的建议:What is the best way to stop people hacking the PHP-based highscore table of a Flash game
【讨论】:
您可以通过将您的应用程序嵌入另一个应用程序来混淆编译器。 您所需要的只是一个新的 Flash 文档和一个文档类,它具有:
package
{
import flash.display.Loader;
import flash.display.MovieClip;
import flash.events.Event;
public class Shell extends MovieClip
{
[Embed(source="Main.swf")]
private var ncvt3ewdsxxnztt:Class;
private var hsf8z42fdfd_as32:MovieClip;
public function Shell()
{
hsf8z42fdfd_as32 = new ncvt3ewdsxxnztt();
hsf8z42fdfd_as32.addEventListener(Event.COMPLETE, onComplete);
}
public function onComplete(e:Event) {
addChild(hsf8z42fdfd_as32);
}
}
}
编辑:
反编译器不知道嵌入源。所以它只会反编译你的shell,保护你的主应用程序免于反编译,保存每一个资产和代码。 =)
【讨论】: