您会为安全客户端GUI应用推荐哪些技术?

时间:2011-05-11 18:06:24

标签: security desktop

我面前有一个大项目,基本上它将成为一种在线的危险游戏,比如扑克。我的问题是,我不确定什么是接近客户端的最佳方式。

因为游戏涉及真钱,安全性将成为一个大问题。对于服务器端,我认为它不会对我选择产生很大的影响,因为所有的通信都会被加密,但我更担心客户端。

根据我使用Java的经验,有很多反编译器,字节码可能并不难破解(我在这里错了)。

由于游戏需要一些2D图形,我想使用一种技术,使GUI开发至少有点顺利。

我的另一个想法是关于Flash,但是由于我没有看到很多在线赌场使用Flash,它可能比Java / .NET更容易受到攻击?

我在这里要问的是,您会建议使用哪种技术来开发一个非常安全的客户端GUI应用程序,并使用一些精美的2D图形?

2 个答案:

答案 0 :(得分:3)

在我看来,没有安全客户端这样的东西。无论你做什么,有人会反编译/逆向工程 - 特别是当涉及真钱时。如果我是你,我会专注于使服务器安全。假设每个客户都被黑客入侵,并且会做任何可以欺骗的事情。

因此,鉴于客户端可以并且将被黑客攻击,我对客户端软件没有任何意见。选择你想要的任何东西也许使用混淆器来降低它们的速度 - 但这可能会在调试客户端问题时使其变得很痛苦。

我确实对安装有意见。如果没有任何东西可以安装,那就更容易了,即游戏完全在网站上运行。

答案 1 :(得分:0)

简短的回答,这是我的观点,就是没有技术存在可以做你想做的事情。现在有些技术会增加理解客户端应用程序的难度。例如,Java和.Net很容易看到。 ByteCode和IL在任何形式或形式上都不安全。你可以添加混淆,以提高标准,以便说....但这仍然是不安全的。你甚至可以去一个完整的编译应用程序,但这仍然是可以破解的。只要计算机能够理解应用程序,那么就会有一个人可以将程序分开。

你的方法是错误的。您应该构建所有逻辑,服务器中没有人可访问的所有功能,然后使用客户端应用程序来简单地处理UX部分。保护代码的唯一安全方法就是让他们拥有它。并且设计不能被滥用的API(例如,不要让客户端掷骰子)