1
tabris17 2014-12-05 16:47:25 +08:00
除非不在客户端执行
|
2
kiritoalex 2014-12-05 17:04:33 +08:00
楼上+1
|
4
easychen 2014-12-05 17:08:39 +08:00
木有。不过现在已经可以把一部分代码用node在云端执行,这样就不会被人偷代码了。
|
5
smblog 2014-12-05 17:08:56 +08:00
make the code unreadable.
|
7
lincanbin 2014-12-05 17:18:46 +08:00 1
浏览器能解析,就能解密。
你能做的无非就是按照《如何写出无法维护的代码》的教程去进行混淆罢了。 例如随机更换变量名。 |
8
txlty 2014-12-05 17:37:21 +08:00
为楼上补充一个自动化工具。
http://utf-8.jp/public/jjencode.html |
9
royzheng 2014-12-05 17:39:32 +08:00
混淆吧 混淆后那么恶心了 我想没人去搞这货吧 出了问题都没法改
|
10
tabris17 2014-12-05 17:41:25 +08:00
问题是javascript这种动态语言很难实现变量名替换的混淆方式
|
11
Bluek404 2014-12-05 17:43:27 +08:00
表示用dart自动生成的混淆后js,又长又难看
|
12
RemRain 2014-12-05 18:04:17 +08:00 1
用 js 写一个操作系统(比如 http://jslinux.org/),在系统里面用 C 开发,编译后删除源文件,只留二进制文件,然后再给二进制文件加壳。
要是你愿意的话,还可以用 C 实现 js, 再用 js 实现操作系统加 C,循环 N 次,然后所有人就都给你跪下了 @_@ |
13
zythum 2014-12-05 18:33:31 +08:00
理论上是可以的。看个例子吧。这个是letv的加密方法。从网站上拷贝下来的。
https://gist.github.com/zythum/4982268b3bb21825847f http://gist.github.com/zythum/4982268b3bb21825847f 但是问题是js的代码是明文的。可以被拷走的。这样只能做到看不懂。但是依然可以运行。开一个js虚拟机就可以了。 |
19
cctvsmg 2014-12-05 19:13:07 +08:00 1
其实可以仿照vmprotect写一个js版本的,vmprotect思想来源于门电路
原理是,把加减乘除都用nor指令实现,nor = not not and 于是原来很容易看出逻辑的 and xor not or 都加密成了整齐划一的单一操作字符nor 再从nor还原回去变的极为困难 目前为止vmp虚拟机加密只能半自动甚至手工还原,还原vmp至今是仍然有很大难度(爆破是另一回事) javascript也可以这么做,也就是在js虚拟机上再搞vmp虚拟机 但是似乎js界和搞加密解密的交集太少,没有人去做这个事情 也可能是js并没有那么高的价值值得如此保护 |
22
aaaa007cn 2014-12-05 21:47:03 +08:00 1
http://nej.netease.com/
未混淆前就是一堆下划线下划线$$$加上单字符变量(哦他们管这个叫“约定”) http://nej.netease.com/course/standard/index 混淆后的效果可以参考 music.163.com 虽然一样可以被逆推出来 不过有多少人会去自找麻烦? |
25
msg7086 2014-12-06 12:17:44 +08:00 via iPhone
建议参考IOCCC
|
26
hester 2014-12-06 16:24:50 +08:00
混淆后的代码可读性几乎 = 0,如果再加上一些MVC结构的话,基本上想读懂不太可能...
如果只是想寻求这个问题的答案到还好,如果你就想实现你说的方式的话,似乎有些没必要... |
27
zythum 2014-12-07 12:52:20 +08:00 1
|