NodeJS如何进行代码保护?
发布于 6 年前 作者 jiangbophd 6398 次浏览 来自 问答

本人想将NodeJS代码部署在别人的服务器上,但是担心源码泄露的问题,于是想是否有办法进行代码保护?还请各位大神指点一二。

15 回复

项目稍微大一点代码压缩成一个单文件也不算能可读吧,压缩成单文件后,再做一个字符串拆解,转一下就不了事了。 比如

“abc中文” => “a”+ “b”+“c”+"\u4e2d"+"\u6587"

或者

“abc中文” =>decodeURI(atob(“YWJjJUU0JUI4JUFEJUU2JTk2JTg3”))

想通过搜索都不可能

防止泄漏、不让别人看:编译型语言✔️ 脚本❌

所以推荐Golang(逃

@zy445566 字符串拆解有工具吗

TypeScript 开发, 然后输出为 ES5 ^_^

@YAOHAO9 自己写一个个我觉得也不难,正则稍微匹配一下字符串就全部能全部匹配出来,字符串转好,再稍微替换一下不就搞定了

没用的,再怎么弄都无济于事,毕竟脚本语言,只是被破解的复杂度而已…… 要么核心模块改用cpp封装吧

核心模板用c++重写,curd用js来调用

来说下如何增加难度:

  1. 用 ncc 打包源码成为单个 js 文件
  2. 用 pkg 打包单文件成一个可执行文件
  3. 把这个可执行文件打包成 Docker 镜像, 可执行文件放置在某个隐秘的路径,设置好开机启动
  4. 用 Docker 在别人的机器上部署

以后几个步骤基本上都是增加了破解难度,对付一般人够用了。

即便最后被找出 js,也是用 ncc 打包后的 js,没有二次开发的可能

在代码里下毒

自己build一个node,然后加一个代码解密,这样能实现部分加密。而且不用build成一个可执行文件。可以参考多多客的js7加密方案。

安全是个伪命题,如果服务器都攻破了,你再加密又有什么样呢?

@i5ting 他们的场景是类似外包那样,部署到客户的服务器上吧

别人是只哪一种人?linux可以设置新用户不允许别人读写(root用户除外)。

用electron打包如何

回到顶部