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

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

开源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 操作能力,使得复杂代码的处理变得更加轻松、智能。

推荐文章

Python 获取网络时间和本地时间
2024-11-18 21:53:35 +0800 CST
Golang Select 的使用及基本实现
2024-11-18 13:48:21 +0800 CST
Vue3中的v-model指令有什么变化?
2024-11-18 20:00:17 +0800 CST
Rust 与 sqlx:数据库迁移实战指南
2024-11-19 02:38:49 +0800 CST
一个收银台的HTML
2025-01-17 16:15:32 +0800 CST
nginx反向代理
2024-11-18 20:44:14 +0800 CST
JavaScript中设置器和获取器
2024-11-17 19:54:27 +0800 CST
微信小程序热更新
2024-11-18 15:08:49 +0800 CST
Go语言SQL操作实战
2024-11-18 19:30:51 +0800 CST
H5抖音商城小黄车购物系统
2024-11-19 08:04:29 +0800 CST
js迭代器
2024-11-19 07:49:47 +0800 CST
CSS 特效与资源推荐
2024-11-19 00:43:31 +0800 CST
MySQL数据库的36条军规
2024-11-18 16:46:25 +0800 CST
Vue中的异步更新是如何实现的?
2024-11-18 19:24:29 +0800 CST
Vue3中如何处理组件的单元测试?
2024-11-18 15:00:45 +0800 CST
Vue3中如何实现国际化(i18n)?
2024-11-19 06:35:21 +0800 CST
jQuery `$.extend()` 用法总结
2024-11-19 02:12:45 +0800 CST
Python实现Zip文件的暴力破解
2024-11-19 03:48:35 +0800 CST
程序员茄子在线接单