uglityjs非集成方式混淆js代码

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

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

趴着喝可乐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值