综合 开源AI反混淆JS代码:HumanifyJS

2024-11-19 02:30:40 +0800 CST views 2667

开源AI反混淆JS代码:HumanifyJS

HumanifyJS 是一个开源工具,专注于通过结合大型语言模型(LLM)和其他工具来实现 JavaScript 代码的反混淆、反压缩、转译、反编译以及解包。它利用了 LLM 提供的智能提示功能,通过重命名变量和函数名称来让代码更具可读性,同时确保代码的功能与原始代码保持完全一致。
目前,HumanifyJS 项目已经在 GitHub 上开源,拥有超过 1.1k+ 颗星标(star),项目关键词为 jehna/humanify

主要功能

HumanifyJS 的设计初衷是帮助开发者轻松反混淆、优化和理解复杂的 JavaScript 代码。以下是 HumanifyJS 提供的核心功能:

  1. 智能重命名建议
    HumanifyJS 利用 ChatGPT 等大型语言模型提供智能建议,帮助开发者对混淆后的变量和函数名称进行重命名,使代码变得更加易读。

  2. Babel AST 级别代码整理
    HumanifyJS 使用 Babel 的自定义插件和现成的插件,在抽象语法树(AST)级别进行代码分析和整理,确保代码结构不变的同时提升可读性。

  3. Webpack 包解包
    HumanifyJS 集成了 Webcrack 工具,能够对 Webpack 打包的 JavaScript 进行解包,帮助开发者还原打包前的源码。

LLM 支持

HumanifyJS 支持通过 OpenAI 的 ChatGPT、Gemini 或者本地部署的语言模型来为变量和函数名重命名提供建议。如果你使用的是非本地的大型语言模型(如 OpenAI),需要自备对应的 API Key。
images

适用场景

HumanifyJS 特别适用于以下场景:

  • 需要对混淆或压缩后的 JavaScript 代码进行反混淆、重命名或解读。
  • 需要对打包后的代码进行解包,还原源码结构。
  • 开发者希望通过代码反混淆和重命名,使代码变得更具可读性,方便调试和维护。

使用环境

HumanifyJS 需要以下环境支持:

  • Node.js >= 20:确保你使用的是最新的 Node.js 环境,以保证工具的顺利运行。

如何使用

要开始使用 HumanifyJS,首先需要从 GitHub 仓库中克隆项目,并根据需要配置大型语言模型 API:

git clone https://github.com/jehna/humanify.git
cd humanify
npm install

接着,你可以根据项目文档进行进一步的设置和配置,并开始对 JavaScript 代码进行反混淆、解包和重命名操作。

注意事项

  • 在使用 HumanifyJS 时,如果需要使用外部 LLM 提供的服务(如 OpenAI 的 ChatGPT),你需要提前申请并配置好对应的 API Key。
  • 虽然 HumanifyJS 能够对代码进行反混淆和解包操作,但它不会对代码进行结构性更改,因此在处理大型项目时,需要结合实际业务场景使用。

项目链接

你可以在 GitHub 上访问并了解更多关于 HumanifyJS 的详细信息:
HumanifyJS GitHub 仓库


HumanifyJS 的诞生为开发者提供了一个强大的工具,帮助他们在面对混淆和打包后的 JavaScript 代码时,可以轻松还原并理解代码逻辑。它结合了大型语言模型和 Babel 强大的 AST 操作能力,使得复杂代码的处理变得更加轻松、智能。

推荐文章

微信小程序热更新
2024-11-18 15:08:49 +0800 CST
PostgreSQL日常运维命令总结分享
2024-11-18 06:58:22 +0800 CST
CSS Grid 和 Flexbox 的主要区别
2024-11-18 23:09:50 +0800 CST
PHP如何进行MySQL数据备份?
2024-11-18 20:40:25 +0800 CST
Go 开发中的热加载指南
2024-11-18 23:01:27 +0800 CST
Go 1.23 中的新包:unique
2024-11-18 12:32:57 +0800 CST
Nginx 反向代理 Redis 服务
2024-11-19 09:41:21 +0800 CST
Manticore Search:高性能的搜索引擎
2024-11-19 03:43:32 +0800 CST
Dropzone.js实现文件拖放上传功能
2024-11-18 18:28:02 +0800 CST
联系我们
2024-11-19 02:17:12 +0800 CST
mendeley2 一个Python管理文献的库
2024-11-19 02:56:20 +0800 CST
PHP openssl 生成公私钥匙
2024-11-17 05:00:37 +0800 CST
Elasticsearch 监控和警报
2024-11-19 10:02:29 +0800 CST
html文本加载动画
2024-11-19 06:24:21 +0800 CST
程序员茄子在线接单