JS代码混淆

JavaScript Obfuscator是JavaScript的功能强大的免费混淆器,其中包含多种功能,可为您的源代码提供保护,它支持很多流行的前端打包工具,如Webpack、Gulp、Grunt等都有相应的插件。

主要特征:

∙变量重命名

∙字符串提取和加密

∙死代码注入

∙控制流展平

∙各种代码转换

1.安装

首先电脑上要安装Node.js环境,然后在命令行窗口执行:

npm install javascript-obfuscator -g

2.简单用法

执行以下命令,使用默认配置对input_file_name.js执行混淆输出到文件output_file_name.js:

javascript-obfuscator input_file_name.js output_file_name.js

3.Windows批处理混淆多个JS文件

将以下代码,复制到本地txt文件里面,其中,主要修改源码目录位置,输出目录位置,和需要忽略混淆的js文件,然后另存为.bat后缀的文件,然后双击一键运行即可。脚本会从源码目录复制到输出目录,然后对输出目录的js文件依次进行混淆,如果设置了忽略混淆的文件,将会跳过不处理,简单快捷。

@echo off
:: 设置压缩JS文件的源码目录,打包输出目录,脚本会自动复制文件并按树层次查找和压缩所有的JS
SET ROOTFOLDER=D:\frontend
SET SRCFOLDER=%ROOTFOLDER%\src
SET DISTFOLDER=%ROOTFOLDER%\build
if not exist %DISTFOLDER% md %DISTFOLDER%
echo 正在复制文件到输出目录
xcopy /y /e /h %SRCFOLDER% %DISTFOLDER%
echo 正在查找JS文件
if not exist %DISTFOLDER% exit
::设置忽略打包混淆的第三方js文件
set jquery=jquery.min.js
chdir /d %DISTFOLDER%\
for /r . %%i in (*.js) do (
    @echo %%~fi | findstr %jquery% >nul &&(
        @echo 忽略文件 %%~i
    ) || (
       echo 正在打包混淆 %%~i ...
       javascript-obfuscator %%~fi --output %%~fi
    )
)
echo 完成
 

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

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

相关文章

(leetcode学习)236. 二叉树的最近公共祖先

给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖…

有一个动态数组a,约束如下:a的元素在5-10之间;a.sum小于100。 问:为什么随机出来的a绝对值都很大?如何解决这一问题?

题目 有一个动态数组a,约束如下:a的元素在5-10之间;a.sum小于100。 问:为什么随机出来的a绝对值都很大?如何解决这一问题? … int a[]; constraint c1{ a.size() inside [5:10]; a.sum() inside [0:100…

【北京迅为】《i.MX8MM嵌入式Linux开发指南》-第三篇 嵌入式Linux驱动开发篇-第五十一章 添加设备树节点

i.MX8MM处理器采用了先进的14LPCFinFET工艺,提供更快的速度和更高的电源效率;四核Cortex-A53,单核Cortex-M4,多达五个内核 ,主频高达1.8GHz,2G DDR4内存、8G EMMC存储。千兆工业级以太网、MIPI-DSI、USB HOST、WIFI/BT…

linux禁用root

linux禁用root 1. 禁止普通用户切换到root1.1 sudo -i和sudo -s的区别1.2 sudo -i和直接登录root账号的区别1.3 禁止sudo -i切换root1.4 禁止su - root切换root 2. 禁止root远程登录2.1 ssh禁止root登录2.2 禁止远程桌面登录 本文主要介绍: 如何禁止普通用户切换到r…

Java---后端事务管理

代码世界聚眸光,昼夜敲盘思绪长。 算法心间精构建,编程路上细思量。 屏前架构乾坤定,键上飞驰智慧扬。 默默耕耘成果现,创新科技铸辉煌。 目录 一,概念 二,Spring事务管理 三,rollbackFor事务回…

智能合约中最常见的11种函数

下面列出了一些常见的智能合约函数及其用途,并提供了一些基本的示例。 1. 构造函数 (constructor) 构造函数用于初始化智能合约的状态变量。它只在合约部署时被调用一次。 示例: contract MyContract {address public owner;constructor() {owner msg.sender;}…

运维锅总浅析Kubernetes之Ceph

Ceph 的核心组件有哪些?Ceph读写数据流程及故障自愈是怎样的?如何对Ceph部署架构进行调优?如何用Ceph集成到kubernetes?希望本文能帮您解答这些疑惑! 一、Ceph简介 Ceph 是一个开源的分布式存储系统,旨在…

sqlalchemy打印query的SQL和参数

sqlalchemy打印query的SQL和参数 在使用 SQLAlchemy 时,可以通过几种方式来打印生成的 SQL 查询和参数。这对于调试和理解程序生成的实际数据库查询非常有用。以下是一些方法: 1. 使用 str(query) 可以直接使用 str(query) 方法来获取 SQLAlchemy 查询对象生成的 SQL 语句…

PySide(PyQt)使用QPropertyAnimation制作动态界面

主脚本: # encoding: utf-8 import os import sysfrom PySide6.QtCore import QPropertyAnimation, QEasingCurvefrom UIS import *# 主画面类 class MainWindow(QMainWindow, animationButton_ui.Ui_MainWindow):def __init__(self):super().__init__()self.setup…

韩顺平0基础学Java——第37天

p736-758 MySQL三层结构 1.所谓安装Mysql数据库,就是在主机安装一个数据库管理系统(DBMS),这个管理程序可以管理多个数据库。DBMS(database manage system) 2.一个数据库中可以创建多个表,以保存数据(信息)。 3.数据库管理系统(DBMS)、数据库和表的关系…

Android 性能之刷新率设置和管理

目录 1. 刷新率和帧率 2. 多种刷新率 3. 基本原理 3.1 屏幕 & 显示控制器 3.2 Composer Service 4. Framework 策略 4.1基本架构 4.2 刷新率设置项的定义 4.2.1 最低刷新率 4.2.2 默认刷新率 & 默认的用户设置刷新率 4.2.2.1 设置入口 4.2.2.2 设置场景 4…

从零开始:在linux系统安装MongoDB数据完整指南 新手常用命令

1 前言 MongoDB 是为快速开发互联网应用而设计的数据库系统。MongoDB 的设计目标是极简、灵活、作为 Web 应用栈的一部分。MongoDB 的数据模型是面向文档的,所谓文档是一种类似于json的结构。 官网教程:https://www.mongodb.com/docs/manual/ 2 安装部…

【接口自动化_11课_框架实战:基于封装的框架进行实战演练-下】

目标: 在原有基础上进行框架优化,本内容不做强制要求,了解即可。 1. Faker(伪造器)模块生成数据 2. 实战:结合框架动态生成请求数据 3. 实战:响应进行动态断言处理 一、 Faker&#xff…

LoFTR关键点特征匹配算法环境构建与图像匹配测试Demo

0,LoFTR CVPR 2021论文《LoFTR: Detector-Free Local Feature Matching with Transformers》开源代码 1,项目主页 LoFTR: Detector-Free Local Feature Matching with Transformers 2,GItHub主页 GitHub - zju3dv/LoFTR: Code for "…

微软蓝屏事件对企业数字化转型有什么影响?

引言:从北京时间2024年7月19日(周五)下午2点多开始,全球大量Windows用户出现电脑崩溃、蓝屏死机、无法重启等情况。事发后,网络安全公司CrowdStrike称,收到大量关于Windows电脑出现蓝屏报告,公司…

畅游时空|虚拟世界初体验,元宇宙游戏如何开发?

在元宇宙中,用户可以通过虚拟身份进行互动、社交、工作和娱乐,体验与现实世界平行的生活和活动。元宇宙不仅仅是一个虚拟空间,更是一个融合了虚拟和现实的生态系统,具有巨大的发展潜力和应用前景。 在不断发展的数字环境中&#x…

简单几步,教你使用scikit-learn做分类和回归预测

前言 scikit-learn是基于Python的一个机器学习库,你可以在scikit-learn库中选择合适的模型,使用它训练数据集并对新数据集作出预测。 对于初学者来说,有一个共同的困惑: 怎么使用scikit-learn库中的模型做预测? 本文…

IOS微软语音转文本,lame压缩音频

在IOS开发中,用微软进行语音转文本操作,并将录音文件压缩后返回 项目中遇到了利用微软SDK进行实时录音转文本操作,如果操作失败,那么就利用原始音频文件通过网络请求操作,最终这份文件上传到阿里云保存,考…

MongoDB教程(十五):MongoDB原子操作

💝💝💝首先,欢迎各位来到我的博客,很高兴能够在这里和您见面!希望您在这里不仅可以有所收获,同时也能感受到一份轻松欢乐的氛围,祝你生活愉快! 文章目录 引言一、MongoD…

11 深度推荐模型演化中的“范式替换“灵活组合

上一课时,我们介绍了 DIEN 模型添加了 RNN中 的 GRU,使模型获得了对序列数据的建模能力;而 DSIN 模型不仅使用了 RNN 中的 bi-LSTM,还使用了 Transformer 组件。 由此可见,在新的演化模型中,根据场景和数据…