uglityjs非集成方式混淆js代码

文章目录

  • 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 -guglifyjs --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 $outputFilePathWrite-Host "完成文件: $file"
}Write-Host "全部文件处理完成"
  • 脚本所在的文件夹,资源管理器中输入 powershell ,调出 PowerShell 窗口

在这里插入图片描述

  • 设置 PowerShell 执行脚本的权限
# 临时授权
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass# 永久授权
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
  • 执行脚本
.\uglifyjs_batch.ps1

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

STM32 利用FlashDB库实现在线扇区数据管理不丢失

STM32 利用FlashDB库实现在线扇区数据管理不丢失 📍FalshDB地址:https://gitee.com/Armink/FlashDB ✨STM32没有片内EEPROM这样的存储区,虽然有备份寄存器,仅可以实现对少量数据的频繁存储,但是依赖备份电源(BAT引脚&a…

【数据分享】2013-2022年全国范围逐年CO栅格数据(免费获取)

空气质量数据是在我们日常研究中经常使用的数据!之前我们给大家分享了2000-2022年全国范围逐年的PM2.5栅格数据和2013-2022年全国范围逐年SO2栅格数据(可查看之前的文章获悉详情)。 本次我们给大家带来的是2013-2022年全国范围的逐年的CO栅格…

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

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

详解前端登录流程:实现原理与最佳实践

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

Unity使用Addressable热更新

先看热更新的gif: Addressable是Unity推出的打ab包方案。不需要手动写AB打包脚手架了,不需要关心依赖,这也简化了ab热更新的流程。Addressable打包需要先将资源放入group中,按group来打包,每个group对应一个ScriptableObject的配置…

VLAN FAQ

如何快速查看所有接口的接口类型和缺省VLAN&#xff1f; 可通过命令display port vlan查看到设备上所有接口的接口类型和缺省VLAN。例如&#xff1a; V200R005及后续版本<HUAWEI> display port vlan Port Link Type PVID Trunk VLAN List --…

虚拟机实验环境配置与使用(计算机系统2)

一、 实验目标&#xff1a; 熟悉Linux上C程序的编译和调试工具&#xff0c;包括以下内容&#xff1a; 1. 了解Linux操作系统及其常用命令 2. 掌握编译工具gcc的基本用法 3. 掌握使用gdb进行程序调试 二、实验环境与工件 1.个人电脑 2. Fedora 13 Linux 操作系统 3. gcc…

【C语言】【LeetCode】循环队列

目录 &#xff08;一&#xff09;题目描述 &#xff08;二&#xff09;数据结构的选择 &#xff08;三&#xff09;函数接口的分析实现 正文开始&#xff1a; &#xff08;一&#xff09;题目描述 题目链接&#xff1a;622. 设计循环队列 设计你的循环队列实现。 循环队列是…

【设计模式】(四)设计模式之工厂模式

1. 工厂模式介绍 工厂模式&#xff08;Factory Pattern&#xff09;是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式&#xff0c;它提供了一种创建对象的最佳方式。 工厂模式有三种实现方式&#xff1a; 简单工厂模式工厂方法模式抽象工厂模式 2. 工厂方…

【MATLAB第100期】基于MATLAB的多种改进拉丁超立方LHS数据抽样方法

【MATLAB第100期】基于MATLAB的多种改进拉丁超立方LHS数据抽样方法 一、LHS种类 1、LHS 使用随机搜索生成拉丁超立方体样本。LHS函数特别适用于非常大的设计&#xff0c;当本机MATLAB函数内存不足时。这可能取决于MATLAB版本和所用机器的配置。当尝试运行“lhsdesign”但未成…

ThreadLocal使用,配合拦截器HandlerInterceptor使用

ThreadLocal使用&#xff0c;配合拦截器HandlerInterceptor使用 ThreadLocal的使用场景通常涉及多线程环境下需要为每个线程保留独立状态的情况。它提供了一种简单的方式来管理线程本地变量&#xff0c;使得每个线程都可以独立地访问和修改自己的变量副本&#xff0c;而不会影…

线程的魔法:揭开现代操作系统并发执行的面纱

✨✨ 欢迎大家来访Srlua的博文&#xff08;づ&#xffe3;3&#xffe3;&#xff09;づ╭❤&#xff5e;✨✨ &#x1f31f;&#x1f31f; 欢迎各位亲爱的读者&#xff0c;感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢&#xff0c;在这里我会分享我的知识和经验。&am…