保护Adobe Air应用程序

7

我即将向客户交付一款Adobe AIR应用程序。 但这是我第一次交付任何东西,也就是说, 我对许可证等方面没有任何经验。

使用此应用程序的用户可能在线或离线, 不能依赖于此。实际上,他们99%肯定会 处于离线状态。

我也不指望他们非常懂技术,会花费足够的时间寻找“破解”方法。

那么,有没有一种可以保护此应用程序的方式呢? 也就是说,我不希望人们只是简单地复制 安装文件夹,将其带到另一台计算机上 并运行它。它应该比这更难一些。

哦,我还在使用PHP和MySql, 这个AIR应用程序与之通信。所以你们能提供的任何帮助都非常欢迎。


如果99%的用户将处于离线状态,但应用程序需要PHP和MySQL后端...那么这个应用程序是如何工作的呢? - dragonmantank
5个回答

3

保护 PHP API 而非前端应用。使用绑定到 IP 地址的许可证密钥,并验证请求(包含该密钥)来自正确的 IP。


IP地址经常会发生变化。我不认为这是一种可靠的方法,很可能会惹恼许多付费客户。 - cliff.meyers
将帐户绑定到 IP 地址可能不是一个好主意,但我认为保护 API 而非前端的想法是正确的做法。API 及其访问完全在您的控制下,而前端应用程序则永远不会受到保护。 - Bob Somers

1

如果您想保护您的Flex应用程序,可以使用irrObfuscator。有30天免费试用。

如果您希望混淆您的PHP代码,我建议使用ioncube。有一个在线混淆器,您可以按照套餐付费。非常有用。不过,您需要ioncube加载器,这是一组PHP扩展,您将在产品部分找到它们。不确定,但我认为您可以安装加载器而无需处理PHP配置,因此它适用于共享主机。


0

我认为唯一好的方法是在安装后要求激活(在线激活,备有电话备份)。

从你所说的情况来看,似乎后端是安装在现场的,无法提供足够的副本保护。


0

基于Web或JavaScript的任何内容都无法被保护,因为源代码是完全公开的。

任何知道如何使用“右键单击”的人都可以复制您的文件。您可以混淆您的代码,但无法保护它。如果您认为这不应该是可能的,请使用“真正的”编程语言编写桌面应用程序。


0

当应用程序安装时,我会执行以下操作:

  1. 在“app-storage”中创建一个文件,该文件基本上表示已安装应用程序。
  2. 触发服务调用并记录安装情况
  3. 更改应用程序目录中的文件以指示已安装应用程序

在随后的启动中,只要应用程序目录中的文件指示已安装应用程序,就检查文件是否存在。如果您看到客户一遍又一遍地安装他们的应用程序,则可以在其帐户中标记此问题并采取适当措施。如果您想变得花哨一些,“app-storage”中的文件可以是来自应用程序目录中的某些信息(安装日期?)和嵌入到AIR应用程序中的某些值的单向哈希。

总的来说,我认为关键在于信任用户,不要假设他们试图窃取。您希望使系统尽可能无痛。当您像对待罪犯一样对待客户时,这不会与客户建立良好的关系,因此创建一个“坚不可摧”的方法可能甚至不是最佳选择。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接