riste19/javascript-obfuscation-analysis

GitHub: riste19/javascript-obfuscation-analysis

一个用于自动化对比分析 JavaScript 混淆工具与 AI 混淆技术的测试框架,评估其对代码功能和文件大小的影响。

Stars: 0 | Forks: 0

# JavaScript 混淆分析 本项目分析了不同的 JavaScript 混淆工具对以下方面的影响: - 文件大小 - 代码功能 - 执行结果 目标是比较多种混淆工具和 AI 生成的混淆技术,并评估其对 JavaScript 程序的影响。 ## 测试的工具 测试了以下混淆工具和 AI 模型: - ObfuscatorJS - a2z.tools JavaScript Obfuscator - FreeJSObfuscator - ChatGPT - Gemini 每个工具都被用于混淆多个 JavaScript 文件并比较结果。 ## 测量指标 对于每个混淆后的文件,评估了以下指标: - 执行情况 – 代码是否仍能成功运行 - 结果一致性 – 输出是否与原始文件匹配 - 文件大小变化 – 混淆后文件大小的增加或减少 ## 项目结构 ``` file1/ file2/ file3/ file4/ file5/ testRunner.js ``` 每个文件夹包含: - 原始 JavaScript 文件 - 使用不同工具生成的多个混淆版本 示例: ``` file1/ file1.js file1_a2z_obf.js file1_fjsobf.js file1_obfjs.js file1.chatgpt_obf.js file1.gemini_obf.js ``` ## 自动化测试 一个定制的 **Node.js 测试运行器** 会自动: - 执行每个 JavaScript 文件 - 验证功能 - 将结果与原始程序进行比较 - 测量文件大小 - 计算百分比变化 这可以快速验证混淆是否破坏了代码。 ## 示例输出 ``` === Comparison for file1 === File Size(KB) %Change RESULT file1.js 1.90 0% PASS file1.chatgpt_obf.js 1.50 -21% PASS file1.gemini_obf.js 1.33 -30% PASS file1_a2z_obf.js 5.70 +200% PASS file1_fjsobf.js 10.39 +447% PASS file1_obfjs.js 13.40 +605% FAIL ``` **PASS** 表示程序在混淆后仍能正常工作。 **FAIL** 或 **ERROR** 表示混淆破坏了功能。 ## 使用的技术 - JavaScript - Node.js - 命令行界面 (CLI) ## 如何运行 运行自动化测试运行器: ``` node testRunner.js ``` 这将执行所有文件并生成比较输出。 ## 项目目的 本项目展示了不同的混淆技术在以下方面如何影响 JavaScript 程序: - 可靠性 - 代码大小 - 执行行为 它还演示了使用 Node.js 进行自动化测试和结果比较。 ## 许可证 本项目基于 MIT 许可证授权。
标签:AI生成代码, ChatGPT, CMS安全, DNS 反向解析, Gemini, GNU通用公共许可证, JavaScript, MITM代理, Node.js, ObfuscatorJS, Promptflow, TLS抓取, 云安全监控, 人工智能, 代码混淆, 功能一致性测试, 数据可视化, 文件大小分析, 文档结构分析, 测试框架, 混淆器对比, 用户模式Hook绕过, 脚本安全, 自定义脚本, 软件安全, 静态分析