混淆的JS代码怎么还原?eval解密/字符串数组还原/webpack拆包全教程

混淆的JS代码怎么还原?eval解密/字符串数组还原/webpack拆包全教程

📁 开发👁️ 5 阅读⏱️ 3 分钟阅读🕒 2026/9/19

混淆的JS怎么还原成可读代码?本教程详解 eval packer 解包、_0x 字符串数组还原、webpack 拆包、防调试代码清除与多轮自动解包的正确姿势,附还原报告解读。

拿到一坨混淆 JS,第一步做什么?

不要猜。粘贴到 JS反混淆解密,工具自动识别混淆类型并给出置信度——eval packer(eval(function(p,a,c,k,e,d)…))、obfuscator.io 系(_0x 大数组)、JSFuck、unicode 转义、webpack bundle 等,未识别时走通用还原链,绝不静默失败。

全自动一键还原

点「开始解密」即可,无需选解包器:识别 → 多轮解包(解一层再识别再解,直到稳定)→ 防调试代码清除(debugger 断点循环、console 劫持)→ js-beautify 美化。3 层套壳(unicode → packer → packer)也能一次解到底。

四个进阶视图

  • 时间线:每轮动作与耗时,可回退到任意一轮;
  • 单步对比:任选两轮左右 diff,行内高亮差异;
  • 还原报告:识别类型、各轮统计、剩余未还原特征,可复制存档(逆向分析记录刚需);
  • 模块树:webpack/browserify bundle 拆出的模块文件,单看或打包 zip。

还原报告怎么读?

重点看「剩余未还原特征」:仍存在 _0x 占位符时,到「重命名」页批量替换成语义名(基于文本替换,跨文件引用请自行核对);提示动态取值残留时,说明有需要人工分析的部分——自动化不承诺 100% 还原,深度定制加密(sojson v6/v7)建议结合人工。

常见问题

  • sojson 加密能解吗? 常见套壳(eval 脱壳层)可自动还原;深度定制多层加密尽力还原,教程生态亦以人工分析为主。
  • 会不会执行危险代码? 一切需要执行的环节都在无同源权限的沙箱 iframe 中,且 CSP 禁止任何网络外联,分析恶意样本不泄密。
  • 会上传我的代码吗? 不会,全程浏览器本地处理。
  • 合规提示:本工具仅供学习、研究与安全分析您拥有合法权益的代码,请勿用于侵犯他人著作权等违法用途。

相关工具