是否有办法防止已被混淆的JavaScript代码去混淆。
混淆JS:
var _0xb5ae="\x73\x68\x6F\x77",“\x2E\x6Cx6F\x61\x64\x65\x72”,“\x6D\x6F\x75\x73\x65\x6D\x76\x65”,"\x2E\x62\x6C\x6F\x63\x6B";$(_0xb5ae3)0xb5ae[2]
发布于 2016-11-30 06:33:38
不,没有办法防止去混淆,但你很可能会在混淆它之前把它缩小,只是为了使它尽可能的复杂。
在任何情况下,客户端都可以看到源,只要有适当的动机,就没有什么是无法阅读和理解的。
如果您希望保护您的代码,请只执行服务器端。
尽管如此,通过对代码使用适当的许可和/或版权,您可以防止(或至少限制)盗用。这当然不会阻止任何人偷它,但给你一个合法的追索权,以防他们试图从你的辛勤工作中赚钱。
发布于 2016-11-30 06:53:49
太容易了,老兄!
var _0xb5ae =["\x73\x68\x6F\x77","\x2E\x6C\x6F\x61\x64\x65\x72","\x6D\x6F\x75\x73\x65\x6D\x6F\x76\x65","\x2E\x62\x6C\x6F\x63\x6B"];
var code = `$(_0xb5ae[3])[_0xb5ae[2]](function(){clearTimeout(e);e= setTimeout(function(){$(_0xb5ae[1])_0xb5ae[0]},1000)})`
function deObfuscate(code, keys) {
for (let key in keys) {
code = code.replace(new RegExp(key+'\\[(\\d+)\\]', 'gim'), (_, index) => {
return `'${keys[key][index]}'`
})
}
return code
}
console.log(
deObfuscate(code, { _0xb5ae })
)
$('.block').mousemove(function(){
clearTimeout(e)
e = setTimeout(function(){
$('.loader').show()
}, 1000)
})<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
https://stackoverflow.com/questions/40881691
复制相似问题