1
akira 2016-12-15 21:07:29 +08:00
干扰代码一样可以去掉的
|
2
jarlyyn 2016-12-15 21:09:47 +08:00 4
哼哼,我写的 js 自带混淆,我自己都看不懂.
|
3
anubiskong 2016-12-15 21:12:32 +08:00 1
倒是一个思路
用力过猛的话会增加性能损耗和网络压力 说回来如果只是防同事的话, 既然是同事他应该能拿到和你同等的代码权限才对啊, 这么防也防不住啊 |
6
bumz 2016-12-15 21:19:23 +08:00
其实,还不如学学 Google 的 No CAPTCHA ReCAPTCHA
人家自己设计了一套语言和虚拟机,用来执行验证代码 而验证代码是可以直接修改虚拟机当中的变量的 等于说相当于,程序执行了一半,换了一套语言,接着解析执行。 |
7
bumz 2016-12-15 21:20:57 +08:00
*修改虚拟机本身的变量
**换成什么语言取决于之前程序执行的结果 |
8
binux 2016-12-15 21:23:20 +08:00
快速窃取的思路不是直接受控黑盒调用吗?为什么要解密代码?
|
9
pysama OP @anubiskong 没关系,我放到服务器上的代码就是“加工过的”,他拿到,也没啥用。
自己最近在给一些内部项目做优化的时候,突然想到:我 tmd 是不是吃饱了撑的,优化个毛。 代码能跑通就行了。 我把代码理的这么顺,注释写这么清晰,又不给我加薪。 so ,我做他干什么呢? 诚然,这么想,显得我非常狭隘和短见。然而,我还是控制不住自己的强迫症。 |
10
pysama OP |
11
anubiskong 2016-12-15 21:26:09 +08:00
@pysama 用 shi 做蛋糕口味的参照物, 何必自寻苦恼?
|
12
shyling 2016-12-15 21:27:33 +08:00
其实我觉得...那主要是为了压缩不是混淆
|
13
zhuangzhuang1988 2016-12-15 21:47:35 +08:00
用 clojure, scalajs 写
然后编译+压缩下, 基本作者自己都看不懂 |
14
SilentDepth 2016-12-15 21:51:27 +08:00
嗯,同意 @akira 的观点,干扰代码也能去掉,因为毕竟是「逻辑上没有意义的代码」,做语法分析很容易移除。如果真的要加大混淆力度的话,干脆不要写 JS ——用别的语言写,然后编译到 JS ,这样应该比手动设计干扰内容更高效。当然,理论上 JS 就没有所谓的源码加密……
|
15
onceyoung 2016-12-15 21:59:45 +08:00
很多程序员写出来的代码自带混淆的
|
16
an168bang521 2016-12-15 22:04:12 +08:00
你最终要让浏览器来执行的, 浏览器上能正常执行的代码,都防不住真正想拿你代码的人;
你听说过有哪个前端框架或者类库是封闭的吗? 只要东西好用,即使不想开源,也"被开源"了, 我感觉是,没必要那么倒腾。 |
17
chemzqm 2016-12-15 22:41:16 +08:00
这技术已经有了,小程序开发工具源码后来的混淆就加了很多拉圾代码进去,只是比较初级,很容易识别。
|
18
SlipStupig 2016-12-15 23:04:56 +08:00
估计 LZ 最近被同事给恶心了,你这种方法,跑一下 coverage 基本上就没用了.....
|
19
nfroot 2016-12-15 23:05:13 +08:00 1
来来来,转换成风骚六进制。。。。。。。。。。
[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]][([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]((![]+[])[+!+[]]+(![]+[])[!+[]+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]+(!![]+[])[+[]]+(![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]+[+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]])() |
20
onlyhot 2016-12-15 23:09:43 +08:00 via iPhone
不懂混淆的意义,每次解混淆就完了
|
21
SourceMan 2016-12-15 23:14:49 +08:00 via iPhone
压缩后基本就不可读了
|
22
sagaxu 2016-12-15 23:15:39 +08:00 via Android
你这种员工,直接开除就行了
|
23
schezukNewTos 2016-12-15 23:21:00 +08:00
|
24
FrankFang128 2016-12-15 23:22:00 +08:00 via Android
加一个反义词库就行了
|
25
alqaz 2016-12-15 23:48:57 +08:00
大家那么忙,谁会在意的你 js 代码,当真的到达这个地步了,买一个专业工具吧。
|
26
q397064399 2016-12-16 06:28:22 +08:00
全都是脱了裤子放屁,
如果代码有被偷的价值>反混淆成本,无论你怎么搞 都是没有意义的 |
27
techmoe 2016-12-16 06:30:09 +08:00 via Android
往里加东西的话体积不就大了么
|
28
Kokororin 2016-12-16 08:38:42 +08:00
|
30
misaka19000 2016-12-16 09:16:12 +08:00
@nfroot 这个是怎么转化的?
|
31
nfroot 2016-12-16 11:02:20 +08:00
@misaka19000 这个东西叫 jsfuck , jsfuck.com
|
32
nfroot 2016-12-16 11:03:55 +08:00
@q397064399 一般来说反混淆成本太高,所以平常保护一下还是有意义的。(毕竟不是每个项目都那么有价值)
|
33
yivanus 2016-12-16 12:18:58 +08:00
你有值得别人借鉴的代码证明实力比别人强啊。一直被模仿,从未被超越。。怕啥。你防着的这些时间可能已经比别人进步更多了。
|
34
jyf007 2016-12-16 12:37:48 +08:00 via Android
虚拟机
|
35
stormpeach 2016-12-16 14:14:51 +08:00
一般的业务代码没有被偷的价值,有价值的一般是某些算法代码,这些代码可以用能编译成二进制的语言来写;但是如果对方能够反编译+看懂你的算法代码,那也只能说他厉害了。然而有这个实力的为什么还要偷你的代码呢。。。。
|
36
Warder 2016-12-16 20:50:35 +08:00
楼主的动机真是奇怪,居然是为了防同事。
|
37
chiuan 2021-09-28 16:08:43 +08:00
为什么要防同事????
|