[已发布][插件] Cocos Creator 构建后 · 代码混淆 3.x+2.x 版 (优惠中)

补充:分包设置必备知识

👆正确设置和构建操作:

重大消息

为庆祝目前小团队对于代码混淆《过审》这块的策略的重大进展,
为了回馈之前支持过我的兄弟和朋友,特此决定:
1. 之前曾经买过支持过作者的朋友,前 10 名可以获得免费帮过审一次(名额已满)
2. 所有买过插件的朋友,前 50 名可以获得 50 元帮过审 2 次(不过审即可退款)(名额已满)
3. 所有买过插件的朋友,前 100 名可以获得 29.9 元帮过审 1 次(不过审即可退款) 【名额有限,预定从速】

以上内容,仅限于2025年5月30号之前,仅用于微信、小游戏平台帮忙过审,一次周期大概在3小时左右(含调试),名额有限,需要预定名额的朋友,请尽快联系作者预付款直接预定名额

新版本测试

Mac Mini M4 测试混淆逻辑和校验设备码:

新版本MacminiM4芯片测试-29b4f7a60e1f65abdcc3e805641802b
新版本MacMiniM4设备识别码校验9b04598dde7c7b35aec323d70b12c07
image

[内容补充] 设备授权&许可证&设备指纹

注: 目前可以绑定 5 台设备(单机校验的,应该够用了)

目前 Cocos 2.x 和 3.x 插件版本使用的是临时的网络时间授权进行的校验,这个受限于网络和远程的回传时间信息,有时候会服务器 403([错误] 授权验证失败,无法执行混淆操作),所以最好联系作者: 386437237@qq.com 来进行<单机>设备绑定授权使用(永久使用,后续更新记得替换许可证为和设备绑定的版本即可)


[内容补充] 获取独特许可证步骤说明

注: 目前可以绑定 5 台设备(单机校验的,应该够用了)

目前所有的许可证校验方式都是基于硬件识别码进行的,所以生成许可证后,无需进行联网校验,仅会进行单机的校验,需提供给作者的信息有

1. Cocos Store 订单号

订单号可以在此链接获取: https://store-my.cocos.com/buyer/history

订单号格式:STORE 开头的,如下图

2. 设备指纹(设备识别码)

设备指纹,或者叫做设备识别码,是英文字母数字组成的一个很长的,如下图:


3.1 获取到1、2等作者生成许可证后的步骤

注: 目前可以绑定 5 台设备(单机校验的,应该够用了)

生成的许可证内容,替换如下:
主要替换3个地方,storeId、hardwareHash、value 这三个的意思分别是订单号、设备指纹、许可证,请注意,这个设备指纹只是方便自己查看方便,每次校验时是代码读取硬件编码进行的校验


  "许可证": {
    "deviceId": "",
    "storeId": "STORE159f6ec8b6dff",
    "hardwareHash": "a4b4b344e01ec8a28dbdda8e0522bec7a5b0072d1105fbebdfb604753fa10fee",
    "expiryDate": "2025-5-2",
    "_meta": {
      "description": "📝 设备许可证信息",
      "emoji": "🔐",
      "createdAt": "2025-03-31T08:49:32.707Z",
      "status": "valid",
      "lastChecked": "2025-04-07T10:43:29.087Z"
    },
    "value": "85dc9f0075034df10f855330fc0e3a18小有QQ386437237@qq.com2c3966469de9b0d0be4d651d330262140b39f4f0eebe43039915afdef286909f639b24251e5a490a4e9c3ead09bd386507591cc69319b7980a93b063842c536799de607d26a7741c03de8e7655edf7a23e694af396069dd1a4a79c94b0b14febbbf11d0e78124a2e7749f84d21a77280402df0a0a84bb6c200f947e40464e406e34e0664b086a1d4255587da88c37b37e0a3d21e8c69f90e68cc6f7dc6ad9d5ca0be1b4d3250bdc6a43f6921e49a9d79"
  },

3.2 主要替换如下文件内容:

cc_obfuscated_js.json 主要是给混淆插件使用的配置,jsobParam.json 主要是给可执行文件 exe 或者 Mac 版本使用的配置文件内容

Cocos3x项目内:

  1. Cocos3x工程项目\extensions\Cocos Creator Code Obfuscation\runtime_Ts\cc_obfuscated_js.json
  2. Cocos3x工程项目\extensions\Cocos Creator Code Obfuscation\TOOLS-EXE\jsobParam.json

Cocos2x项目内:

  1. Cocos2x工程项目\packages\Cocos Creator Code Obfuscation\runtime_Ts\cc_obfuscated_js.json
  2. Cocos2x工程项目\packages\Cocos Creator Code Obfuscation\TOOLS-EXE\jsobParam.json

3.3 可执行文件目录+打开校验成功的效果

Cocos 3.x 插件更新 v3.4.21 (已测试 Cocos 3.8.6 版本)

  1. 手动选择 .js 或者包含 .js 的文件夹面板增加置顶模式,增加日志提示+优化体验
  2. 手动混淆面板增加单条复制日志和一键复制全部(面板内提示),增加主逻辑和面板通信逻辑消息
  3. 所有打印的日志去除 ANSI 的相关字符,提升 Cocos 编辑器内的体验
  4. 调整可执行文件的耗时逻辑、兼容混淆参数(减少混淆后的文件大小)
  5. 可执行文件增加自检逻辑,如果没检测到对应的配置,即可提示输入许可证并生成新的配置

Cocos 2.x 功能同步 v2.4.21 (已测试 Cocos 2.4.15 版本)

Cocos 3.x 插件更新 v3.4.22 (已测试 Cocos 3.8.6 版本)

1. 增加混淆后自动切换新的随机种子值 seed,保持每次的混淆结果的随机

2. 购买面板新增控制参数实时调整的功能

新增制作的效果视频, 保持分辨率 1912x1440 的前提下,压缩视频音频到极限:
596MB 压缩到 55.3 MB,缩小了 10 倍,使用的是 ffmpeg 的形式进行的处理(GPU比较关键,可以提速)

image

https://store.cocos.com/app/detail/3740

https://www.bilibili.com/video/BV1Mw5bz1Etd/

已加入视频章节分段,方便跳转内容

image

这边继续补充新内容

兄弟们,试看内容已经把我要讲的全部讲了,后续的其实可以忽略:

Cocos3.x小游戏资源分包指南-解决4MB限制问题

Cocos 抖音小游戏混淆后无法检测侧边栏的解决方案

// 检测项:侧边栏复访
// 小游戏必须接入侧边栏复访能力,否则将被平台审核拒绝,请接入该能力后重新上传代码,要求必须使用 tt.navigateToScene 调用。
抖音的这个问题,后续我新版本插件更新会直接解决处理这个问题,另外插件也在逐步更新字符串压缩功能,想保持混淆后的代码和混淆前的大小差不多或者更小点,正在设计中,插件地址:
Cocos Store

Cocos2.x 构建的小游戏资源分包指南->解决4MB限制问题

补录一些辅助的小工具

Cocos 批量读取和修改文件MD5值

Cocos JSC 文件批量加解密工具

你的插件也被盗版上闲鱼了

1赞

:rofl: 没办法,避免不了的,只能慢慢迭代做好体验了,不过新版本稍微好点,都加了许可证校验机器码

所以,我在开发机和发布机授权,插件跟着项目走,这个授权是两台机器都可以,还是我还得到发布机换授权?

抱歉,兄弟,最近忙项目很少上论坛,你应该已经加我QQ: 386437237 了吧?在这里回复下,方便后面有疑问的兄弟能看懂:如果有需要换机器绑定的兄弟,不用怕,只要是你自己用的电脑,不论是 Windows 系统、还是 Mac 的系统,找我都可以生成永久单机校验的许可证(10台应该够了?只要得空我都会回复的,有时候忙就回复慢点),许可证的原理就是许可证+订单号和你的电脑设备指纹绑定,不和项目、不和账号关联,不用联网校验,永久单机验证,建议更新到7月份的插件版本,7月份之前的调整许可证的版本比较多,后面的才开始比较稳定

小补充:

Cocos 商店开票:

发票管理-申请发票(方便报销):

https://service.cocos.com/console/#/applyInvoice

购买记录:

https://store-my.cocos.com/buyer/history

不是这个意思,2.x可以全局没有这个问题,3.x插件只能安装在项目,我是不是得把插件添加到项目git一起推送到发布机,我总不可能还去发布机下载一次插件吧,关键ci集成每次是会重置项目目录的,我总不能去发布机下载插件再添加验证再发布?那自动化怎么做?是不是可以包含多个许可证?或者一个许可证包含多台机器?

嗯,Cocos3.x后面引擎好像不支持全局了,你说的这个情况,同一台电脑的话,如果是Windows系统,直接复制就行,不用重新添加,json文件的内容都是一样的,就是命名不一样,如果你是集成命令行构建的那种,你可以考虑使用插件内的这个可执行文件,支持命令行 Jenkins 形式的执行和操作的,具体的用法,你可以参考插件文件夹目录里面的代码写法:

插件内的可执行文件路径:

项目文件夹\extensions\插件文件夹\TOOLS-EXE

全平台JS代码混淆工具-发布版-压缩2_7-linux
全平台JS代码混淆工具-发布版-压缩2_7-macos
全平台JS代码混淆工具-发布版-压缩2_7-win.exe

一个许可证包含多台机器的话,目前暂时没有计划这样支持,如果你的机器很多的话,可以考虑自行下载使用《历史版本》的 2024年的版本,这两个版本不限制使用的电脑和机器,也有支持 Jenkins 形式执行, 就是功能相对来说没新版本这么多 :


催版本等待更新的兄弟,久等了,可以来这个帖子活跃下,或许可以加快审核(感觉不一定),

祝大家马年除夕快乐 :+1: