保护 adobe air 应用程序

Posted

技术标签:

【中文标题】保护 adobe air 应用程序【英文标题】:protecting adobe air apps 【发布时间】:2010-10-02 01:56:42 【问题描述】:

我即将向客户交付一个 Adob​​e AIR 应用程序。 但这是我第一次交付任何形式,即我有 没有任何许可等方面的经验。

此应用的用户可能在线也可能不在线,因此 不能指望那个。事实上,有 99% 的把握 他们将离线。

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

那么,有没有一种好的方法来保护它 应用程序。也就是说,我不希望人们简单地复制 安装文件夹,把它带到另一台机器上 并运行它。应该比这稍微难一点。

哦,我也在使用 phpmysql,其中 此 AIR 应用程序进行通信。所以你们可以的任何东西 非常欢迎帮助我。

【问题讨论】:

如果 99% 的用户将离线,但应用程序需要 PHP 和 MySQL 后端......应用程序如何工作? 【参考方案1】:

保护 php api 而不是前端应用程序。拥有一个绑定到 IP 地址的许可证密钥,并验证来自正确 IP 的请求(包含密钥)。

【讨论】:

IP 地址经常变化。我不会说这是一种合理的方法,并且可能会激怒许多付费客户。 将帐户绑定到 IP 地址可能是个坏主意,但我认为保护 API 而不是前端的想法是解决此问题的正确方法。 API 和对它的访问完全在您的控制之下。前端应用永远不会。【参考方案2】:

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

如果你想混淆你的 PHP 代码,我建议ioncube。有一个在线混淆器,您可以按点菜付费。很有用。你需要 ioncube 加载器,它是一组 PHP 扩展,你可以在产品部分找到。不确定,但我认为您可以在不使用 PHP 配置的情况下安装加载程序,因此它对共享主机友好。

【讨论】:

【参考方案3】:

你不能保护任何基于 web 或 javascript 的东西,纯粹是因为有完整的源代码。

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

【讨论】:

【参考方案4】:

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

    在“app-storage”中创建一个文件,基本上表明该应用已安装。 启动服务调用并记录安装 更改应用目录中的文件以指示应用已安装

在后续启动时,只要 app 目录中的文件表明该应用已安装,请检查该文件是否存在。如果您看到客户一遍又一遍地安装他们的应用程序,这可能会在他们的帐户中被标记并采取适当的措施。如果你想花哨的话,“app-storage”中的文件可以是应用目录中文件的一些信息(安装日期?)的单向哈希值加上一些烘焙到 AIR 应用程序中的值。

总的来说,我认为这里的关键是信任您的用户,而不是做出他们试图窃取的假设。你想让系统尽可能的轻松。当您将客户视为罪犯时,它不会与客户建立良好的关系,因此创建“铁定”的方法可能甚至不是最好的主意。

【讨论】:

【参考方案5】:

我认为几乎唯一的好方法是在安装后要求激活(在线激活,使用手机备份)。

根据您的说法,后端似乎是现场安装的,无法提供足够的复制保护。

【讨论】:

以上是关于保护 adobe air 应用程序的主要内容,如果未能解决你的问题,请参考以下文章

多次启动 Adob​​e AIR 应用程序

反编译Adobe AIR应用程序

将 Flex 转换为 Adob​​e Air

Adobe Air Application 如何清除数据?

在 ActionScript 3.0 中以编程方式检测 Adob​​e Air 和 Adob​​e Flex

Adobe AIR 执行程序