uglityjs非集成方式混淆js代码

news2024/9/29 15:26:58

文章目录

  • uglityjs非集成方式混淆js代码
  • 一、前言
    • 1.简介
    • 2.环境
    • 3.bat和ps1
      • .ps1 文件
      • .bat 文件
  • 二、正文
    • 1.安装Node.js
    • 2.安装UglityJS
    • 3.代码混淆
      • 1)单个文件
      • 2)多个文件

uglityjs非集成方式混淆js代码

一、前言

1.简介

UglifyJS 是一个 JavaScript 解析器、缩减器、压缩器和美化工具包

2.环境

  • Windows 10 专业版
  • Node.js 版本:12.20.1
  • uglify-js 版本:3.17.4

3.bat和ps1

.ps1 文件

  • 格式: PowerShell 脚本文件
  • 环境: 在 Windows PowerShell 中运行,这是一种更现代的命令行界面,提供了更强大的脚本功能
  • 功能: 支持复杂的逻辑、高级功能和命令,例如:访问Windows API、文件系统操作、网络操作、系统管理任务等
  • 使用场景:
  1. 需要执行复杂的系统管理任务
  2. 需要使用Windows的高级功能,如 WMI 或 CIM
  3. 适用于自动化管理任务和批量处理数据
  4. 当需要在Windows系统上创建高度自定义化的脚本时

.bat 文件

  • 格式: 批处理文件
  • 环境: 在 CMD(命令提示符)中运行,是早期 Windows 版本中使用的传统方式。
  • 功能: 相对较简单,主要用于执行一系列命令。支持基本的循环和条件语句
  • 使用场景:
  1. 执行简单的文件操作和系统命令
  2. 自动化简单的日常任务,如启动程序、简单文件操作等
  3. 适用于向后兼容性,例如在老旧的系统上运行
  4. 当需要一个轻量级的脚本来执行简单任务时

uglifyjs 主页:https://lisperator.net/uglifyjs/

uglifyjs GitHub:https://github.com/mishoo/UglifyJS

nvm - github:https://github.com/nvm-sh/nvm

Node.js 版本:https://nodejs.org/en/download/releases

Nvm管理NodeJs版本:https://blog.csdn.net/u011424614/article/details/133938401

二、正文

1.安装Node.js

  • Nvm 安装参考:《Nvm管理NodeJs版本》

  • Node.js 下载:Node.js Downloads

  • 查询版本

node -v
npm -v

2.安装UglityJS

  • Node.js 环境安装 UglityJS
npm install uglify-js -g

uglifyjs --version

3.代码混淆

1)单个文件

  • 混淆变量名(-m),并压缩(-c)
uglifyjs input.js -o output.js -m -c

2)多个文件

  • 编写 PowerShell 脚本,文件名:uglifyjs_batch.ps1
# 要处理的文件夹路径
$inputDirectory = "C:\Project\input"  # 输入文件夹路径
$outputDirectory = "C:\Project\output"  # 输出文件夹路径

# 如果输出文件夹不存在,则创建它
if (-not (Test-Path -Path $outputDirectory)) {
    New-Item -ItemType Directory -Path $outputDirectory
}

# 获取所有 .js 文件
$files = Get-ChildItem -Path $inputDirectory -Recurse -Include "*.js"

# 遍历所有文件
foreach ($file in $files) {
    # 计算文件相对于输入目录的相对路径
    $relativePath = $file.FullName.Substring($inputDirectory.Length)

    # 在输出目录中创建相同的目录结构
    $outputFilePath = Join-Path -Path $outputDirectory -ChildPath $relativePath
    $outputFileDirectory = [System.IO.Path]::GetDirectoryName($outputFilePath)
    if (-not (Test-Path -Path $outputFileDirectory)) {
        New-Item -ItemType Directory -Path $outputFileDirectory
    }

    # 执行压缩
    uglifyjs $file.FullName -c -m -o $outputFilePath
    Write-Host "完成文件: $file"
}

Write-Host "全部文件处理完成"
  • 脚本所在的文件夹,资源管理器中输入 powershell ,调出 PowerShell 窗口

在这里插入图片描述

  • 设置 PowerShell 执行脚本的权限
# 临时授权
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass

# 永久授权
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
  • 执行脚本
.\uglifyjs_batch.ps1

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1506389.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

3.10复试专业课日报【周末总结】

数据结构 考点一,考点二 操作系统 计算机网络 组成原理 1.什么是中断向量 2. 数据库 选择题80-100 1.数据库的逻辑模型(数据模型) 2.DCL,DML,DQL,DDL 3.数据库特点 算法 1.复习 对称二叉树,二叉树最大深度 2.只出现一…

计算机考研|保姆级择校+资料+全年规划

本科211,研究生上岸某985 计算机考研备考过程中走了不少弯路,希望我的经验能够帮助大家少走弯路 大家决定考研之前,一定要认真思考自己考研的目的是什么,有的人是随大流,别人考研,就跟风考研,有…

vulhub中Weblogic WLS Core Components 反序列化命令执行漏洞复现(CVE-2018-2628)

Oracle 2018年4月补丁中,修复了Weblogic Server WLS Core Components中出现的一个反序列化漏洞(CVE-2018-2628),该漏洞通过t3协议触发,可导致未授权的用户在远程服务器执行任意命令。 访问http://your-ip:7001/consol…

初识REDHAWK

文章目录 前言一、什么是 REDHAWK?1、概述2、REDHAWK 的应用 二、REDHAWK 的流程管理和交互方法1、流程管理2、数据传输 三、入门1、安装 REDHAWK2、IDE 快速入门①、启动 REDHAWK IDE②、打开 Chalkboard③、创建信号发生器④、测试组件的输入/输出响应 前言 REDHAWK 是一个…

跨平台是什么意思?——跟老吕学Python编程

跨平台是什么意思?——跟老吕学Python编程 跨平台跨平台释义跨平台软件数据库管理系统(DBMS):网站服务器、应用程序服务器:网络浏览器: 跨平台编程语言跨平台详细解说跨平台应用前景 跨平台 计算机领域术语 跨平台概念是软件开发中…

Python 强大邮件处理库 Imbox

目录 IMAP Mailbox Imbox 安装 特性 提取邮件内容 处理附件 安全性 示例 1:读取收件箱中的邮件 2:搜索并下载附件 3:连接到IMAP服务器获取所有邮件 结论 IMAP Mailbox IMAP(Internet Message Access Protocol&#x…

Ps:清理

清理 Purge命令位于“编辑”菜单下,它主要用于释放 Photoshop 使用的内存资源,有助于提高系统的性能。 通过使用“清理”命令,用户可以有效管理 Photoshop 的资源使用,特别是在处理大型文件或进行长时间编辑会话时。 定期清理可以…

什么是GoogLeNet,亮点是什么,为什么是这个结构?

GooLeNet 亮点 最明显的亮点就是引入了Inception,初衷是多卷积核增加特征的多样性,提高泛化能力 ,比如,最下边是一个输入层,然后这个输入分别传递给1*1,3 * 3 ,5 * 5和一个最大池化层&#xff…

盘点5个正规靠谱的赚钱平台,有手机或电脑就可以增收

找到一个真正靠谱的赚钱平台是一个不错的起点。接下来的一些建议,都是为了让你能在互联网的宇宙世界中,平稳地走出创收的第一步。 1,自媒体写文章 写文章是一项非常适合文学爱好者的兼职工作。如果你拥有良好的文学功底和写作技巧&#xff…

智慧公厕_智慧化公厕_智慧的公厕_公厕智慧化_智能智慧公厕_智慧化的公厕

在当代城市发展中,智慧公厕作为公共厕所信息化的主要表现形式,正在以惊人的速度推动着城市公共环境卫生的智慧化进程。作为智慧城市体系的重要组成部分,智慧公厕不仅提供方便、卫生的公共厕所服务,还提升了城市整体形象&#xff0…

人民网(人民号)如何发布文章新闻,人民网怎么投稿,附人民日报价格多少钱

最近有很多朋友问到一个问题,就是人民网如何发布文章新闻,以及人民网怎么投稿。作为一个专业的媒体发稿平台,媒介多多网为大家提供了一个非常好的解决方案。 首先,人民网作为我国权威媒体之一,其新闻发布渠道非常严谨…

【最新版】ChatGPT/GPT4科研应用与AI绘图论文写作(最新增加Claude3、Gemini、Sora、GPTs技术及AI领域中的集中大模型的最新技术)

2023年随着OpenAI开发者大会的召开,最重磅更新当属GPTs,多模态API,未来自定义专属的GPT。微软创始人比尔盖茨称ChatGPT的出现有着重大历史意义,不亚于互联网和个人电脑的问世。360创始人周鸿祎认为未来各行各业如果不能搭上这班车…

Vue3自定义Hooks一键换肤教程

核心 使用CSS变量, 准备两套CSS颜色, 一套是在 light模式下的颜色,一套是在dark模式下的颜色dark模式下的 CSS 权重要比 light 模式下的权重高, 不然当我们给html添加自定义属性[data-themedark]的时候, dark模式权重比light低,会一直不起效果当我们点击 dark 模式的时候, 给 …

消息队列 MQ

文章目录 1. MQ 相关概念1.1 什么是 MQ1.2 为什么要用 MQ1.3 MQ 分类1.4 MQ 的选择 1. MQ 相关概念 1.1 什么是 MQ MQ(message queue),从字面意思上看,本质是个队列,FIFO 先入先出,只不过队列中存放的内容是 message 而已&#x…

Linux--文件类型与权限

Linux上一切皆文件; 蓝色的是目录文件 Linux不以文件的扩展名来区分文件类型,而是在文件属性中有一列专门记录文件类型. ls -l 可以查看 普通文件:.c .cpp .h .txt .pdf .xls (-) 目录文件:文件夹 (d) 管道文件:用于进程间通信的一种文件 (p) 链接文件:相当于W…

[ROS 系列学习教程] rosbag C++ API

ROS 系列学习教程(总目录) 本文目录 一、rosbag::Bag1.1 常用接口1.2 其他接口 二、rosbag::View2.1 常用接口2.1.1 代码示例 rosbag 的 C API 主要有两个类,用于写bag文件的Bag类,和用于读bag文件的View类。 一、rosbag::Bag 用于写bag文件。 头文件…

【C语言步行梯】分支语句if...else、switch详谈

🎯每日努力一点点,技术进步看得见 🏠专栏介绍:【C语言步行梯】专栏用于介绍C语言相关内容,每篇文章将通过图片代码片段网络相关题目的方式编写,欢迎订阅~~ 文章目录 什么是语句?引入分支语句&am…

力扣hot10---大根堆+双端队列

题目&#xff1a; 大根堆思路&#xff1a; 维护最大值&#xff0c;应该首先想到大根堆。C中对应着priority_queue&#xff0c;这里用pair<int,int>来记录对应的值和在nums中的索引。所以有priority_queue<pair<int,int>> q。在大根堆中&#xff0c;用q.top()…

C++的类与对象(三):构造函数、析构函数、对象的销毁顺序

目录 类的6个默认成员函数 构造函数 语法 特性 析构函数 特性 对象的销毁顺序​​​​​​​​​​​​​​ 类的6个默认成员函数 问题&#xff1a;一个什么成员都没的类叫做空类&#xff0c;空类中真的什么都没有吗&#xff1f; 基本概念&#xff1a;任何类在什么都不…

使用swagger生成接口文档

使用swagger生成接口文档 有时候一份清晰明了的接口文档能够极大地提高前后端双方的沟通效率和开发效率。本文将介绍如何使用swagger生成接口文档。 swagger生成接口文档 swagger介绍 Swagger本质上是一种用于描述使用JSON表示的RESTful API的接口描述语言。Swagger与一组开…