保护node-webkit桌面应用程序中的源代码

时间:2013-05-08 06:59:53

标签: node.js model-view-controller code-access-security node-webkit compoundjs

首先,我看到了nwsnapshot。并没有帮助。

我正在使用node-webkit将库存管理系统构建为桌面应用。正在构建的项目使用 compoundjs (mvc javascript库)。它有一个明确的文件夹结构(你知道mvc)和里面的多个javascript文件。

问题是nwsnapshot允许应用程序只有一个快照文件,但应用程序的逻辑分布在不同的javascript文件中的所有文件夹中。

那么如何在将源代码发送到客户端之前保护我的源代码?或任何其他解决方案或更聪明的方式(是的,我知道混淆)。

3 个答案:

答案 0 :(得分:19)

您可以使用名为nwsnapshot的nodewebkit命令将javascript代码编译为二进制文件,该代码将加载到应用程序中而不指定任何js文件

nwsnapshot --extra-code application.js application.bin

package.json中添加此内容:

snapshot: 'application.bin'

答案 1 :(得分:2)

这实际上取决于你所说的“安全”。

您可以使用Google Closure Compiler相当好地混淆您的javascript代码(以及可能提高性能)。

我不知道有任何加密/解密你的javascript的现成解决方案,老实说,我会质疑它的必要性。

有些人认为他们需要让他们无法查看他们的源代码,因为他们习惯于处理只向用户发送二进制文件的编译语言。事实上,逆向工程二进制代码从来没有像人们想象的那么困难,所以如果有任何经济激励,运输源代码和传统的二进制运输之间几乎没有区别。

某些语言提供了对已部署资产的真正加密,例如Microsoft的SLPS。在我看来,这个市场很小,以至于微软把它交给了合作伙伴(只是我的看法)。事实是,大多数客户对获取源代码不感兴趣;当他们继续工作时,他们对你以有效的方式服务和支持代码的能力更感兴趣。

答案 2 :(得分:0)

您可以考虑在构建过程中将JS文件合并为一个并编译它。