我有一个大型的javascript / HTML Adobe AIR应用程序,我正在寻找一种方法来保护在安装程序中打包并安装(以纯文本格式)到最终用户PC上的javascript文件。我想也许有一个很好的加密方案可供使用。我希望它是一个解决方案,我可以在创建安装程序时应用(因为应用程序已经非常大)理想情况下我希望它是一个解决方案,不需要我更改位置我的代码库中的js文件,但如果必要的话,这是可行的。
有人建议可能将它们嵌入到Flash文件中,但之后我需要在运行时提取它们等等。似乎可能有一个更简单的解决方案。
重要提示:我正在寻找的不仅仅是最小化js或混淆它,我理想的是,我正在寻找一个涉及加密的解决方案,但我愿意接受其他建议。
有什么想法吗?我已经做了很多谷歌搜索解决方案,并尝试了一个受欢迎的用户组,但没有运气。我认为这对几乎所有在js / HTML中制作AIR应用程序的人都不适用于开源应用程序。
谢谢!
答案 0 :(得分:3)
除非您的最终用户使用的是trusted computing平台,即本身就不可能。一个可以信任不服从其所有者的订单的平台(因此有时称为treacherous computing)。它不仅难以解决,也不会解决,它就像永动机一样不可能,如果你接受这个事实,你将省去很多麻烦。
问题是您使用的任何加密最终都需要在客户端计算机上进行解密,因此您必须分发解密代码所需的任何密钥以及完全没有意义的加密代码并且会给您没有任何安全保障。它甚至不是所使用的算法的问题,只是你必须给每个人提供秘密密钥。
答案 1 :(得分:0)
如果我了解您要做的事情,我们最近刚使用我们的加密/保护工具包对其进行了测试。关键是用户机器上安装的可执行文件是加密的,因此javascript永远不会是纯文本。解密在运行时通过对称密钥交换发生。密钥存储在软件或硬件设备(加密狗)中。
但是,因为您使用Air而不仅仅是c ++或类似的东西,我们的工具集可能无法解决一些问题。如果需要,您可以告诉我更多信息。但我认为这不一定是不可能的。