首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何防止JavaScript代码的混淆

如何防止JavaScript代码的混淆
EN

Stack Overflow用户
提问于 2016-11-30 06:27:30
回答 2查看 664关注 0票数 0

是否有办法防止已被混淆的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]

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-11-30 06:33:38

不,没有办法防止去混淆,但你很可能会在混淆它之前把它缩小,只是为了使它尽可能的复杂。

在任何情况下,客户端都可以看到源,只要有适当的动机,就没有什么是无法阅读和理解的。

如果您希望保护您的代码,请只执行服务器端。

尽管如此,通过对代码使用适当的许可和/或版权,您可以防止(或至少限制)盗用。这当然不会阻止任何人偷它,但给你一个合法的追索权,以防他们试图从你的辛勤工作中赚钱。

票数 3
EN

Stack Overflow用户

发布于 2016-11-30 06:53:49

太容易了,老兄!

代码语言:javascript
复制
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)
})
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40881691

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档