商店链接:
中文介绍
小游戏过审问题
- 劝各位做小游戏的朋友,多多注意图片版权问题,最好弄个自己的原创,否则授权的或者自己过审的马甲想要爆款会比较难
- 小游戏提审->代码包侵权
- 小游戏提审->恶意注册[UI图片没改到位+换图]
- 图片不换的话, 改图片文件数据也行,微信和抖音都可以过审,但是抖音人工查询比较多(请注意保护版权信息)
- 小游戏提审->内容同质化
- 关于 Google Play 和 IOS 应用上架,参考维度有很多因素,请注意自己 IP 干净+无关联+资源的 md5 值比较独立+应用化加密处理(有时候不一定和代码有关)
小游戏过审问题-总结原因:代码改动不到位,手动改动不到位,混淆不到位(单纯的混淆并不能过审)
小游戏过审, 目前已经积累了一些心得, 可以咨询我
QQ 386437237
E-mail 386437237@qq.com
目前[已测试]平台
请注意 Cocos 2.1.3 版本的插件暂不支持 AST 混淆, 仅支持普通 JS-OB 混淆
混淆效果-体验地址
点击查看 Gitee 效果, Gitee 加载不完全, 有些资源不让加载
点击查看 GitHub 效果
| Android(安卓) |
任何平台 |
微信小游戏 |
抖音小游戏 |
H5 |
Cocos Creator 2.1.3, 2.3.4, 2.4.5, 2.4.9, 2.4.10 |
Cocos Creator 3.4.0, 3.5.2, 3.6.0, 3.6.1, 3.7.1, 3.8.5 |
  cc2.x&&3.x |
  cc2.x&&3.x |
  cc2.x&&3.x |
  cc2.x&&3.x |
  cc2.x&&3.x |

|
 
|
0x1.1 新增-界面功能更新
0x1.2 更完善的参数试验面板更详细的介绍和交互
0x1.3 更强更完善的手动选择文件进行混淆得界面
0x1.4 构建后自动混淆功能增加自定义过滤路径文件夹名称
0x1.5 查看更新后的可执行文件的工具功能
最新 Cocos Creator 3.8.5 也支持使用
引: 感谢皮皮大佬的支持
技术介绍
- 采取 AST 不可逆混淆时会完全改变 js 里面所有能改的函数名、变量名、方法名, 所以请谨慎处理, 不然混淆后有些关联代码会报错
想要过审, 混淆前先手动处理好代码结构, 尽可能打乱所有的运行逻辑, 长函数拆成多个短函数执行, 手动注入的废代码结构需要关联上业务逻辑的代码<关键>
- 本插件所有代码不加密(有注释)
- 也可以自定义一个加密方法(参考我写的cmd文件)
- 可混淆类型为 android,wechatgame 、web-mobile 、web-desktop 、bytedance-mini-game 等 5 种混淆方式, 已增加微信小游戏混淆方式, 已增加抖音小游戏混淆方式,目前已支持全平台混淆
- 针对每个参数都进行了详细的讲解
- 可以在项目设置里面设置混淆的参数
- 可以快捷键打开混淆参数设置面板
- 在构建的时候, 可以打开混淆面板设置参数
- 针对所有设置的混淆参数都做了多语言处理(支持中英文切换)
- 可以在项目里面看到保存混淆参数的 Json 文件(run-time)
- 可以混淆构建目录下所有的 JSON 文件(仅有小部分场景适用)
- 添加 AST (抽象语法树) + MD5 不可逆结构混淆, 增加马甲包过审概率
- 使用 AST 保证每次 JS 代码混淆的结果的唯一, 保证混淆后的代码每次都不重复.
- 可以手动选择需要混淆的 JS 文件, 并选择需要进行混淆的类型, 然后开启混淆
- 添加 2.x 的版本, 2.x 的已测试了三个不同版本的构建 (改写手动选择混淆面板适配 2.x )
- 在 2.x 构建后混淆时, 自动启用默认的参数进行混淆, 参数的设置仍旧采取 3.x 的设置规则
- 支持 Cocos 2.x 和 Cocos 3.x 全局安装和使用插件
- Cocos 2.x 增加一个修改项目内的 UUID 的功能, 可以在插件菜单内修改项目的所有关联的 36 位和 22~23 位的 UUID
- 增加更改前备份到插件目录下的 assets_clone/ 的功能
- 采取正则匹配来替换对应 UUID , 提高加载速度
- Cocos 3.x 内置启动本地 HTML 页面, 可在 Cocos 内调试 JSOB 的参数, 并预览效果, 方便理解
- Cocos 3.x 预览窗口支持多开, 支持在浏览器里面打开, 可保存混淆结果到本地
- Cocos 3.x 支持一键更改 uuid , 支持开关时混淆时, 可以实时查看 JSON 的值
- Cocos 2.x 已支持启动混淆参数调试面板
- 新增可执行文件工具, 采取 jsob 的 4.0.2 版本设计, 可以跨编辑器使用, 也可以放桌面当工具使用
- 单文件工具采取 pkg 打包的 win 平台的 exe 版本
- 单文件默认封包 nodeJs 环境, 一般无需配置环境, 暂时不开源, 仅使用, 可以自定义对应的 jsobParam.json 里面的参数, 用法和插件一样
- 支持拖入文件夹或者文件后直接回车, 可以混淆单个 js 文件和混淆文件夹里面所有的 js 文件
- 默认混淆后会有备份文件出现, 可自行删除
- 备份文件的名称里面有耗时和包体增减大小的记录
- 已支持和适配,所有的平台都可以在构建后自动混淆构建目录下所有的代码文件
- 构建后自动混淆会跳过引擎代码(防止文件过大)
- 支持新增了方便 Jenkins 打包构建的支持的版本(可在命令行控制台带路径参数运行),添加了多种不同的混淆的策略的 JSON 文件
- Cocos 3.x 插件重大升级,彻底重构之前的复杂的插件逻辑,优化用户体验
- 增强日志记录的功能,增强菜单面板的界面交互
- 增强关于混淆参数的介绍和提示,同步增加过滤文件夹和文件的功能参数(支持插件和可执行文件)
- 文件选择面板增加双语切换,优化参数测试面板和双语言
- 增强可执行逻辑的整体功能逻辑,增加更多的描述和更方便的步骤说明内容和交互
- 可执行文件融合 Jenkins 和原混淆逻辑到一个可执行文件里面:
项目文件夹\extensions\插件文件夹\TOOLS-EXE
全平台JS代码混淆工具-发布版-压缩2_6-linux
全平台JS代码混淆工具-发布版-压缩2_6-macos
全平台JS代码混淆工具-发布版-压缩2_6-win.exe
插件安装失败的解决方案
如果提示:
- 解压失败, 提示安装失败, 需要手动解压时
- 提示默认 JSON 已丢失
0.1 请注意查看项目文件夹(如下)
请保证解压后的 Cocos 3.x 插件文件目录保持如下
extensions/cc-obfuscated-js
请保证解压后的 Cocos 2.x 插件文件目录保持如下
packages/cc-obfuscated-js
或者是如此 (Cocos Dashboard 命名的规则)
extensions/cc-obfuscated-js
extensions/cc-obfuscated-3_x
extensions/Cocos Creator Code Obfuscation
extensions/Cocos Creator 构建后 · 代码混淆 3.x 版
cc-obfuscated-3_x 是插件的文件夹名称, 请不要修改, 否则就会提示 JSON 已丢失
已支持 Cocos 2.x 和 3.x 全局安装使用插件, 可以从此处下载安装, 也可以用 Cocos Dashboard 去安装(Dashboard 目前只有安装 3.x 的功能)
Cocos 编辑器 > 顶部菜单栏 > 商城 > 下载后点击安装
0.2 手动解压安装插件的操作步骤(Gif 展示)
0.2.1 解压和安装插件的示意图 1
0.2.2 解压和安装插件的示意图 2
0.2.3 解压和安装插件的示意图(第二种)
就是修改一下压缩包的名称为 cc-obfuscated-3_x.zip , 然后导入插件包
参数配置说明
支持项目构建后自动混淆代码, 目前参数固定采用 cc_obfuscated_js.json 的参数混淆
配置的 JSON 文件位于此处 :>
插件配置: cc-obfuscated-3_x/runtime_Ts/cc_obfuscated_js.json
TOOLS的EXE目录配置: cc-obfuscated-3_x/TOOLS/jsobParam.json
如需修改混淆的配置, 修改此 main.js 里面的 json 数据即可, 参数的示意请参考面板, 或者查看文末的参数详情介绍
痛点解决
- 可自由选择是否在构建后混淆代码
- 支持 3.x 构建后自动或者不自动混淆代码
- 支持微信小游戏和抖音小游戏的代码混淆
目前已测试平台
| H5 |
微信小游戏 |
抖音小游戏 |
Android原生 |
iOS原生 |
OPPO小游戏 |
vivo小游戏 |
 |
 |
 |
 |
 |
 |
 |
效果预览
使用方法
1. 扫描并启用代码混淆插件
2.1 支持多语言化显示和面板参数提示
2.2 支持在构建面板查看+项目设置面板设置混淆参数 (Alt+S)
2.3.1 实时调节参数, 保存参数到 Json 文件
2.3.2 实时调节参数, 保存参数到 Json 文件
2.3.3 修复 select 属性关联值的问题

2.4 具体参数请参考皮皮大佬的解析
3.1 开启或者关闭构建后自动混淆代码的功能
0x3.3 Add AST (抽象语法树) + MD5 执行不可逆混淆
采取以下技术点, 对构建后的 JS 文件的 AST 语法树里面的, 可重命名的部分, 执行 MD5 的不可逆混淆
保证每次混淆产生的结果都不重复, 增强马甲包过审的概率…
md5 + esprima + escodegen + confusion + confuser
3.4 手动选择需要混淆的 JS 文件, 开始混淆
3.5 添加适配 2.x 版本的构建功能(简化版)
3.5.1 升级到 2.x 选择JS文件混淆 (Cocos 2.3.4测试)
3.5.2 升级到 2.x 开始构建-web端 (Cocos 2.4.9测试)
3.5.3 升级到 2.x 开始构建-抖音小游戏 (Cocos 2.4.5测试)
3.5.4 升级到 2.x 开始构建-微信小游戏 (Cocos 2.3.4测试)
3.6.3 内置启动本地 HTML 页面, 可在 Cocos 内调试 JSOB 的参数, 并预览效果, 方便理解
预览窗口支持多开
3.6.4 支持在浏览器里面打开, 可保存混淆结果到本地
3.7.0 支持在命令行里面使用,方便 Jenkins 操作
3.7.1 支持拖入单个js文件回车混淆
在插件目录的 TOOLS 里面可以运行这个 exe 文件
查看混淆前的代码,查看混淆使用的参数文件,开始混淆单个js文件
备份文件里面的, 文件名称的意思解释
encodeStringChinaTest.js.[80.96ms][952.00 bytes]混淆备份.095251.jscc
[80.96ms] 是当前混淆这个文件总计耗时时长
[952.00 bytes] 是混淆后这个文件增加或者减小了多少, 增加是正数反之是负数
3.7.2 拖入文件夹后直接回车混淆
拖入文件夹回车自动递归备份并混淆文件夹内的所有的js文件
3.7.3 简单验证一下混淆后的运行情况
4. 开始构建代码
4.1 微信小游戏混淆演示
4.2 抖音小游戏混淆演示
5. 查看加密的代码文件
6. 查看控制台断点和加密后的效果
7. 关闭混淆功能继续构建
8. 查看未混淆的代码
本插件的目录结构(内置一些个人思路)
└─ZIP:71.4 MB (74,895,360 字节)
└─/extensions/cc-obfuscated-js
└─/packages/cc-obfuscated-js
│ jsconfig.json
│ main-panel-manager.js
│ main.js
│ package.json
│ sceneJs.js
│
├─i18n
│ en.js
│ zh.js
│
├─lib
│ │
│ └─common
│
├─node_modules
│
├─panel
│
├─panel_build
│ custom_builder.js
│ custom_hooks.js
│
├─runtime_Ts
│ cc_obfuscated_js.json
│ cc_obfuscated_js.json.meta
└─TOOLS-EXE
│ jsobParam.json
│ 全平台JS代码混淆工具-发布版-压缩2_6-win.exe
│ 全平台JS代码混淆工具-发布版-压缩2_6-macos
│ 全平台JS代码混淆工具-发布版-压缩2_6-linux
│ └─obJsFolderTest
├─typings
│ editor-main-util.js
│ editor.d.ts
│
└─
鸣谢
json-obfuscator
https://obfuscator.io/
联系作者
版权声明
- 该插件资源中的源代码可商业使用
- 商业授权范围仅限于在您自行开发的游戏作品中使用
- 不得进行任何形式的转售、租赁、传播等
后续计划 (免费更新)
补充说明
- 目前的是Beta版本,商用的话请大家酌情考虑
- 暂未做过各种压测和Bug调测,仅跑通效果
- 后续功能完善后,价格也会随之提高,感谢支持
- 如果有发现bug,请联系我,我会尽快修复
- 感谢各位的支持
购买须知
- 请各位朋友看后仔细思考,是否符合您的项目或者研究需求,谨慎使用
- 目前内容相对比较少, 后续才会迭代
- 因为本产品为付费虚拟商品,一经购买成功概不退款,请在购买谨慎确认购买内容。