CNode

再次请教js源代码加密,要部署至外网环境,使用什么工具加密才能保证源代码安全?

Nnobody发布于13 年前最后回复13 年前14 回复23323 浏览0 收藏

NodeJS,CenterOS6.x,Mongodb。从网上了解使用Google comip &YUIComip &Ugly效果不理想,请高人告知!

查看回复

回复 (14)

M
mz121star#1·13 年前

客户端代码,你想再怎么加密也没用,就是混淆一下。

Y
youxiachai#2·13 年前

客户端的话,只能混淆。。。。。你要加密的话,得自己在底层写个加载器。。。目前貌似没见到过这方面的开源项目

S
shiedman#3·13 年前

只要源代码是js就没有加密可言,只要人家想看就必定能看到。ugly之类的只不过是增加代码的阅读难度而已。不想暴露代码,要么把整个模块重写为c++扩展,要么修改v8代码实现自己的代码加载方式(依然有可能通过v8的api读取源码)。话说,如果代码的使用者不是hacker级别的,简单的扩展nodejs的代码加载方式也能蒙混过去,可参考coffeescript加载.coffee文件的实现方式。

N
nobody#5·13 年前

谢谢各位大牛在百忙中给与回复。谢谢。

E
Einsy#6·13 年前

想问的是你这个项目是nodejs的网站吗还是客户端软件? 我想到一个办法你可以参考参考;

要是客户端的,就有办法了,参见node-webkit加密;

要是服务器端的,你可以把js需要加密的部分,加密成一个二进制的.dat文件,写一个exe来加载和启动node,启动的时候,把数据解码之后传递进去运行。

E
Einsy#7·13 年前

如果是客户端的网页内运行的js,那就只能混淆了,不能加密

L
leizongmin#9·13 年前
引用 Einsy想问的是你这个项目是nodejs的网站吗还是客户端软件? 我想到一个办法你可以参考参考; 要是客户端的,就有办法了,参见node webkit加密; 要是服务器端的,你可以把js需要加密的部分...

即使是这样,程序最终还是要还原成JavaScript代码在V8虚拟机中执行,如果别人能得到一份你的程序(尽管是加密过的),还是能通过一些调试工具来查看内存数据,还原出源代码的。

N
nobody#10·13 年前

代码是运行在服务器端的.但还需要加密

E
Einsy#11·13 年前

如果代码是运行在服务器端的,你就写成.node模块 不过成本太高, 希望作者提供普通脚本编译成.node,不过这不符合开源精神~

L
land007#12·13 年前
引用 shiedman只要源代码是js就没有加密可言,只要人家想看就必定能看到。ugly之类的只不过是增加代码的阅读难度而已。不想暴露代码,要么把整个模块重写为c++扩展,要么修改v8代码实现自己的代码加载方式(依...

楼上说:修改v8代码实现自己的代码加载方式(依然有可能通过v8的api读取源码),是指通过调试的方式读出吗?如果启动过程不让调试,还能通过其他方式读出吗?

X
xiuxu123#13·13 年前

开源吧,少年!

M
mrlong#14·13 年前

自己从开源学到不少内容,也鼓励开源。商业的公司,有时为了防竞争对手,有时还必要的加密。

参与回复
登录后即可参与回复。登录