人化:利用 AI 和 Babel 解密 JS

September 04, 2025

在 Web 开发的世界里,经过压缩和混淆的 JavaScript 代码往往是理解和调试的一大障碍。所幸,富有创新精神的开源项目正不断涌现,以应对这一挑战。 Humanify 就是其中一个多功能工具,它结合了 ChatGPT 和 Gemini 等大型语言模型 (LLM) 的强大能力,以及先进的 Babel 插件,能够将复杂、难以阅读的 JavaScript 代码转换为易于理解的格式。

Humanify 的目标是实现 JavaScript 代码的解混淆、反压缩、转译和解打包。虽然大型语言模型主要用于为变量和函数重新命名,以提高清晰度,但核心的结构性代码转换工作由 Babel 在抽象语法树 (AST) 层面完成,从而确保代码的功能保持完全不变(1:1 等效)。

主要特性与优势:

  • AI 驱动的重命名: 利用大型语言模型智能建议描述性的变量和函数名,极大提升代码可读性。
  • AST 级转换: 采用自定义及现有 Babel 插件,在底层实现代码的“解扭曲”和结构重组。
  • Webpack 解包: 支持 Webcrack,有效地解开 Webpack 打包后的 JavaScript 应用。
  • 灵活的执行模式: 提供多种运行方式,满足不同需求:
    • OpenAI/Gemini 模式: 连接到云端 AI 服务(需要 API 密钥),在可能的情况下提供更高的准确性和便利性,但根据代码量会产生相应费用。
    • 本地模式: 完全在您自己的机器上运行解混淆过程,可利用 CPU 或 GPU。此模式免费且性能出色,尤其是在 Apple Silicon Mac 上,但准确性有时会受本地模型的影响。
  • 跨平台兼容性: 基于 Node.js 构建,广泛支持各类开发者。
  • 安装便捷: 可通过 npm 全局安装(npm install -g humanifyjs),或直接使用 npx 进行快速测试(npx humanifyjs)。

Humanify 入门指南:

  1. 安装: 确保您已安装 Node.js(20 或更高版本)。然后,通过 npm install -g humanifyjs 全局安装 Humanify。
  2. 使用: 您可以从终端运行该工具。例如,使用 OpenAI API 解混淆名为 obfuscated-script.js 的文件:
    humanify openai --apiKey="your-api-key" obfuscated-script.js
    
    或使用 Gemini:
    humanify gemini --apiKey="your-google-api-key" obfuscated-script.js
    
    对于本地处理,您需要先下载模型(例如,humanify download 2b),然后运行:
    humanify local obfuscated-script.js
    

Humanify 是让 JavaScript 代码更透明、更易于理解的重大飞跃。无论您是处理第三方脚本、遗留代码,还是希望改进 próprio 项目的可维护性,这个开源工具都能提供强大而灵活的解决方案。它将 AI 智能与强大的代码转换能力相结合,使其成为任何开发者工具箱中的必备利器。

原创文章: 查看原文

分享本文

目录

跳转到任何部分