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

> 来源：工具派（https://gjupai.com） 原文页面：https://gjupai.com/tutorial/js-deobfuscator-guide

#### 拿到一坨混淆 JS，第一步做什么？

不要猜。粘贴到 [JS反混淆解密](https://gjupai.com/tools/js_deobfuscator)，工具自动识别混淆类型并给出置信度——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 禁止任何网络外联，分析恶意样本不泄密。
- **会上传我的代码吗？** 不会，全程浏览器本地处理。
- **合规提示**：本工具仅供学习、研究与安全分析您拥有合法权益的代码，请勿用于侵犯他人著作权等违法用途。

#### 相关工具

- [JS 混淆加密](https://gjupai.com/tools/js_obfuscator)：还原结果一键「重新混淆」带码跳转；
- [JS 格式化/压缩](https://gjupai.com/tools/js_formatter)：排版精调；
- [编码工具箱](https://gjupai.com/tools/encoding_toolbox)：URL/Base64 等通用编码转换。
