使用gulp-obfuscator混淆保护Cocos代码

1. 安装 Node.js

首先,确保你已经安装了 Node.js,它会自动安装 npm(Node 包管理器)。

你可以通过以下命令检查是否已安装 Node.js 和 npm:

node -v
npm -v

2. 全局安装 Gulp

使用 npm 来全局安装 Gulp CLI(命令行工具):

npm install --global gulp-cli

3. 在项目中安装 Gulp

在你的项目目录中,初始化 npm 项目(如果还没做过的话):

npm init -y

然后在项目中安装 Gulp:

npm install --save-dev gulp

4. 创建 Gulp 配置文件

在项目根目录下创建一个名为 gulpfile.js 的文件,这是 Gulp 的配置文件。示例 gulpfile.js 内容如下:

var gulp = require("gulp");
var javascriptObfuscator = require("gulp-javascript-obfuscator");
gulp.task("default", function (cb) {
    gulp.src(["./index.js"],{allowEmpty: true})
        .pipe(javascriptObfuscator({
              compact: true,  // 压缩代码,减少文件大小
              controlFlowFlattening: true,  // 打乱控制流,增加反向工程难度
              controlFlowFlatteningThreshold: 0.75,  // 打乱控制流的概率(0-1),越高越难以反推代码
              deadCodeInjection: true,  // 插入无用代码,增加混淆性
              deadCodeInjectionThreshold: 0.4,  // 插入死代码的概率(0-1),0.4比较适中
              debugProtection: true,  // 启用调试保护,防止调试器单步执行
              debugProtectionInterval: 4000,  // 防止调试器附加到代码上
              renameGlobals: true,  // 混淆全局变量
              stringArray: true,  // 混淆字符串,替换为数组形式
              stringArrayEncoding: ['base64'],  // 字符串数组编码方式,base64 提高安全性
              stringArrayThreshold: 0.75,  // 多少比例的字符串会被混淆
              transformObjectKeys: true,  // 混淆对象的属性名
              transformUnicode: true,  // 混淆Unicode字符
			  mangle: {
                reserved: ['console', 'window', 'document', 'tt']  // 保留这些全局函数
            }
        }))
        .pipe(gulp.dest("./release/src")
            .on("end", cb));
});

5. 运行 Gulp 任务

在命令行中,输入以下命令来执行任务:

gulp default

至此,你已经成功安装并配置了 Gulp。

因为加入的混淆,index.js代码文件体积会变大,解析效率会变低。可以根据自身的需求,灵活设计obfuscator的参数配置。

混淆过后的代码可以在微信小游戏和抖音小游戏正常运行。

这款微信小游戏可以看看效果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值