首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >node.js -代码保护?

node.js -代码保护?
EN

Stack Overflow用户
提问于 2011-05-10 22:05:27
回答 14查看 87.1K关注 0票数 61

我想在我的下一个项目中使用node.js,但我的老板不喜欢我们的竞争对手能够阅读源代码。

有没有办法保护JavaScript代码?

EN

回答 14

Stack Overflow用户

回答已采纳

发布于 2012-02-07 00:33:50

您可以使用节点的NativeExtension来实现这一点

您应该有一个为.jse文件添加扩展处理程序的boostrap.js文件

代码语言:javascript
复制
// register extension
require.extensions[".jse"] = function (m) {
 m.exports = MyNativeExtension.decrypt(fs.readFileSync(m.filename));
};

require("YourCode.jse");

YourCode.jse将是源代码的加密版本(解密密钥不会以纯文本形式存在,因为解密过程发生在本机扩展中)。

现在,您让NativeExtensions decrypt函数将源代码转换回javascript。只需让您的构建过程创建所有文件的加密.jse版本,并将其发布给您的客户。他们还需要原生扩展,但现在您已经使修改代码变得更加困难,而不需要太多的工作。您甚至可以让本地扩展呼叫总部并检查许可证信息,以帮助防止盗版(请记住,这不会阻止盗版,没有解决方案)。

票数 70
EN

Stack Overflow用户

发布于 2011-05-10 23:07:55

只需包括一份许可协议并给他们源代码即可。不管怎样,他们可能想要自定义它。

票数 18
EN

Stack Overflow用户

发布于 2014-07-07 16:33:56

因为我刚刚在80+文件中完成了一个巨大的纯Nodejs项目,所以我遇到了与OP相同的问题。我的辛勤工作至少需要一个最低限度的保护,但NPMjs OS社区似乎没有涵盖这一非常基本的需求。雪上加霜的是,JXCore软件包加密系统上周在几个小时内就被破解了,所以回到混淆吧……

所以我创建了一个完整的解决方案,处理文件合并,丑化。您可以选择从合并中排除指定的文件/文件夹。然后将这些文件复制到合并文件的新输出位置,并自动重写对它们的引用。

NPMjs link of node-uglifier

Github repo of of node-uglifier

PS:如果人们能做出贡献,让它变得更好,我会很高兴。这是一场小偷和像你这样勤奋的程序员之间的战争。让我们加入我们的力量,增加逆向工程的痛苦!

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5951302

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档