新闻中心
2024-11-08 04:12 点击次数:153
js加密J9官网,是前端很常见的需求。
常见的法子是用jshaman、jsjiami.online等进行js代码禁止加密。
是否有其它的决策呢?比如:咱们能否我方诞生一种前端浏览器言语,取代js(将js代码,转动为我方私有的言语,从而让他东说念主看不懂),以此罢了变相的js代码加密。
以此想路,底下进行尝试和讨论。
有一个适合这个主义的剧本,名为livescript,也不错在前端现实。
它的代码样式如下:
现实输出:
这个小众的言语,语法与js是有不小各异的。淌若无数的这种代码出当今前端,替代js,罢了各式功能,貌似是具备了加密的成果。
举例,这生分的语法,js流毒员看着详情是一脸懵:
何况,还有法子不错罢了javascript与livescript语法颐养:
咫尺规则,似乎是OK的:将js转动为livescript,然后再发布。
那么livescript这种语法在浏览器中是怎样被现实的呢?
经粗浅分析得知,livescript在浏览器中现实前,会进行编译:
其中的output变量看起来有些可疑,在此加一句console.log,输出,望望它是什么:
现实:
果不其然,livescript编译是把它自界说的语法转动成了js代码(livescript代码被复原为了js代码)。
这就诠释的通了,表面也就正确了:js诚然是不错被浏览器现实的。
livescript剧本最终会被转动成js代码。是以,它与aaencode、jjencode、jsf∪ck等肖似,不错视作一种编码。
由于能被斥逐复原为js代码,是以,并不具备很强的加密成果。淌若想加密js代码,退步代码被分析、复制、盗用,还是远远不足js禁止加密用具的(jshaman、jsjiami.online等正宗js禁止加密用具)。
梗概有东说念主会说,淌若livescript代码它莫得复原为js,而是径直现实,可能吗?
可能性相比小,这里不错空意象wasm(WebAssemblyJ9官网,非指汇编言语)。淌若想让代码径直被现实,而不是转成js代码,就需要有一个“现实器”,浏览器是只给js准备了现实器,livescript想径直现实,就得像wasm同样也诞生我方的现实器,这是个巨的大工程了,还得兼容统统js语法、还得长久随js更新而更新(因为此处的场景要转js为livescript,这是本文筹商的诳骗点),综认为议到这些,这个决策不太可行:自创一种前端言语,替代js,以罢了代码加密不能行。不管是转为js现实,还是我方写现实器,齐不能行。
Powered by 中国(九游会)官方网站 @2013-2022 RSS地图 HTML地图