用途:面向安全分析人员,对被混淆的恶意 JavaScript 进行去混淆分析。适用于调查含混淆脚本的钓鱼页面、被注入电商站的 web skimmer(Magecart 型)、下载并执行二阶段的 JS dropper、含内嵌混淆脚本的恶意 HTML 邮件附件,以及用重度混淆隐藏漏洞投递的浏览器漏洞利用工具包。仅做代码压缩的生产代码不适用,应改用常规美化工具。
主要能力:安全提取 HTML 中的脚本并美化;识别字符串编码(十六进制、Unicode 转义、Base64、charCodeAt/fromCharCode、数组查表)、eval 链、控制流混淆与反分析技巧;用 Python 脚本逐层解码 hex、Unicode、fromCharCode 数组和 atob 静态字符串;用 Node.js vm 模块在沙箱中拦截 eval、document.write、setTimeout,避免直接执行;最后分析凭证窃取、盗刷、跳转、漏洞投递等逻辑并提取 IOC。
必要用法与前提:需要 Node.js 18+、Python 3.8+ 与 jsbeautifier、Chrome DevTools、CyberChef、de4js/JStillery、JSDetox,并在与生产系统和敏感数据隔离的分析 VM 中运行。工作流分为提取脚本、识别混淆、移除反分析陷阱、解码字符串、安全解析 eval 链、分析载荷六步。常用命令包括 npx js-beautify script_0.js -o script_0_pretty.js,以及 node --experimental-vm-modules deobfuscate.js。
限制与注意:不得在联网或生产系统上执行混淆脚本,脚本可能在分析期间回连;使用 DevTools 前须先移除 debugger 陷阱,否则会陷入死循环;注意动态从外部 URL 加载的额外混淆层与 Base64 内联图片/数据 URI 中的隐藏脚本。以上均来自资料,具体分类与平台支持以官方为准。