cocos-obfuscator 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,160 @@
1
+ # 快速开始
2
+
3
+ ## 5 分钟快速上手
4
+
5
+ ### 场景:在另一个 Cocos Creator 项目中使用
6
+
7
+ 假设你有一个新项目 `/path/to/my-game`,想要使用混淆工具。
8
+
9
+ ---
10
+
11
+ ## 最简单的方法(推荐)
12
+
13
+ ### 步骤 1:在当前项目链接包
14
+
15
+ ```bash
16
+ # 在 happyMahjongElimination 项目目录下
17
+ cd cocos-obfuscator
18
+ npm link
19
+ ```
20
+
21
+ 输出类似:
22
+ ```
23
+ C:\Users\YourName\AppData\Roaming\npm\node_modules\cocos-obfuscator -> D:\projects\cocos\happyMahjongElimination\cocos-obfuscator
24
+ ```
25
+
26
+ ### 步骤 2:在新项目中使用
27
+
28
+ ```bash
29
+ # 进入你的新项目
30
+ cd /path/to/my-game
31
+
32
+ # 链接包
33
+ npm link cocos-obfuscator
34
+ ```
35
+
36
+ ### 步骤 3:运行混淆工具
37
+
38
+ ```bash
39
+ # 交互式选择(推荐)
40
+ cocos-obfuscate
41
+
42
+ # 或直接指定参数
43
+ cocos-obfuscate --platform bytedance
44
+ ```
45
+
46
+ ---
47
+
48
+ ## 实际使用示例
49
+
50
+ ### 示例 1:在项目 package.json 中配置
51
+
52
+ 在你的新项目的 `package.json` 中添加:
53
+
54
+ ```json
55
+ {
56
+ "name": "my-game",
57
+ "version": "1.0.0",
58
+ "scripts": {
59
+ "obfuscate": "cocos-obfuscate",
60
+ "obfuscate:bytedance": "cocos-obfuscate --platform bytedance",
61
+ "obfuscate:wechat": "cocos-obfuscate --platform wechatgame --include-subpackages"
62
+ },
63
+ "devDependencies": {
64
+ "cocos-obfuscator": "file:../happyMahjongElimination/cocos-obfuscator"
65
+ }
66
+ }
67
+ ```
68
+
69
+ 然后:
70
+
71
+ ```bash
72
+ # 安装依赖
73
+ npm install
74
+
75
+ # 使用
76
+ npm run obfuscate
77
+ npm run obfuscate:bytedance
78
+ npm run obfuscate:wechat
79
+ ```
80
+
81
+ ### 示例 2:构建后自动混淆
82
+
83
+ ```json
84
+ {
85
+ "scripts": {
86
+ "build": "你的构建命令",
87
+ "obfuscate": "cocos-obfuscate",
88
+ "build:release": "npm run build && npm run obfuscate"
89
+ }
90
+ }
91
+ ```
92
+
93
+ 运行:
94
+
95
+ ```bash
96
+ npm run build:release
97
+ ```
98
+
99
+ ---
100
+
101
+ ## 路径说明
102
+
103
+ ### 使用 file: 路径时的相对路径
104
+
105
+ 如果你的项目结构是:
106
+
107
+ ```
108
+ projects/
109
+ ├── happyMahjongElimination/
110
+ │ └── cocos-obfuscator/
111
+ └── my-game/
112
+ └── package.json
113
+ ```
114
+
115
+ 在 `my-game/package.json` 中:
116
+
117
+ ```json
118
+ {
119
+ "devDependencies": {
120
+ "cocos-obfuscator": "file:../happyMahjongElimination/cocos-obfuscator"
121
+ }
122
+ }
123
+ ```
124
+
125
+ ### 使用绝对路径
126
+
127
+ ```json
128
+ {
129
+ "devDependencies": {
130
+ "cocos-obfuscator": "file:D:/projects/cocos/happyMahjongElimination/cocos-obfuscator"
131
+ }
132
+ }
133
+ ```
134
+
135
+ ---
136
+
137
+ ## 验证安装
138
+
139
+ 运行以下命令验证是否安装成功:
140
+
141
+ ```bash
142
+ # 检查命令是否存在
143
+ which cocos-obfuscate # Linux/Mac
144
+ where cocos-obfuscate # Windows
145
+
146
+ # 查看帮助
147
+ cocos-obfuscate --help
148
+
149
+ # 或使用 npx
150
+ npx cocos-obfuscate --help
151
+ ```
152
+
153
+ ---
154
+
155
+ ## 下一步
156
+
157
+ - 查看 [README.md](./README.md) 了解完整功能
158
+ - 查看 [INSTALL.md](./INSTALL.md) 了解其他安装方法
159
+ - 查看 [USAGE.md](./USAGE.md) 了解高级用法
160
+
@@ -0,0 +1,130 @@
1
+ # Cocos Obfuscator
2
+
3
+ Cocos Creator 项目代码混淆工具,支持字节跳动小游戏和微信小游戏平台。
4
+
5
+ ## 功能特性
6
+
7
+ - ✅ 支持 Cocos Creator 2.x 和 3.x 版本
8
+ - ✅ 支持字节跳动小游戏(bytedance/bytedance-mini-game)
9
+ - ✅ 支持微信小游戏(wechatgame)
10
+ - ✅ 交互式选择界面(使用键盘上下键)
11
+ - ✅ 自动备份原文件
12
+ - ✅ 支持分包文件混淆
13
+ - ✅ 优化的混淆配置,平衡安全性和文件大小
14
+
15
+ ## 安装
16
+
17
+ ### 方式一:作为项目依赖安装
18
+
19
+ ```bash
20
+ npm install cocos-obfuscator --save-dev
21
+ ```
22
+
23
+ ### 方式二:全局安装
24
+
25
+ ```bash
26
+ npm install -g cocos-obfuscator
27
+ ```
28
+
29
+ ### 方式三:从本地目录安装
30
+
31
+ ```bash
32
+ npm install /path/to/cocos-obfuscator
33
+ ```
34
+
35
+ ### 方式四:从 Git 仓库安装(支持 Gitee、GitHub、GitLab)
36
+
37
+ ```bash
38
+ # Gitee
39
+ npm install git+https://gitee.com/your-username/cocos-obfuscator.git
40
+
41
+ # GitHub
42
+ npm install git+https://github.com/your-username/cocos-obfuscator.git
43
+
44
+ # 私有仓库(使用 SSH)
45
+ npm install git+ssh://git@gitee.com/your-username/cocos-obfuscator.git
46
+ ```
47
+
48
+ **注意**:Gitee 目前不支持 npm 包托管,但可以从 Git 仓库直接安装。详细说明请查看 [GITEE.md](./GITEE.md)。
49
+
50
+ ## 使用方法
51
+
52
+ ### 交互式选择模式(推荐)
53
+
54
+ 在项目根目录运行:
55
+
56
+ ```bash
57
+ # 如果作为项目依赖安装
58
+ npx cocos-obfuscate
59
+
60
+ # 如果全局安装
61
+ cocos-obfuscate
62
+ ```
63
+
64
+ 运行后会进入交互式选择:
65
+ 1. 选择平台(bytedance 2.x / bytedance-mini-game 3.x / wechatgame)
66
+ 2. 选择是否包含分包文件
67
+
68
+ ### 命令行参数模式
69
+
70
+ ```bash
71
+ # 指定平台
72
+ cocos-obfuscate --platform bytedance
73
+ cocos-obfuscate --platform bytedance-mini-game
74
+ cocos-obfuscate --platform wechatgame
75
+
76
+ # 包含分包文件
77
+ cocos-obfuscate --platform wechatgame --include-subpackages
78
+
79
+ # 指定项目目录
80
+ cocos-obfuscate --platform bytedance --project-dir /path/to/project
81
+ ```
82
+
83
+ ### 在 package.json 中添加脚本
84
+
85
+ ```json
86
+ {
87
+ "scripts": {
88
+ "obfuscate": "cocos-obfuscate"
89
+ }
90
+ }
91
+ ```
92
+
93
+ 然后运行:
94
+
95
+ ```bash
96
+ npm run obfuscate
97
+ ```
98
+
99
+ ## 命令行选项
100
+
101
+ - `--platform <平台>` - 指定平台: `bytedance` (2.x版本) 或 `bytedance-mini-game` (3.x版本) 或 `wechatgame`
102
+ - `--include-subpackages` - 包含分包文件进行混淆
103
+ - `--no-subpackages` - 不包含分包文件
104
+ - `--project-dir <目录>` - 指定项目目录(默认为当前目录)
105
+ - `--help, -h` - 显示帮助信息
106
+
107
+ ## 项目结构要求
108
+
109
+ 工具会在以下路径查找文件:
110
+
111
+ - 主包文件: `build/{platform}/assets/main/index.*.js`
112
+ - 分包文件: `build/{platform}/subpackages/*/game.js`
113
+
114
+ ## 注意事项
115
+
116
+ 1. 混淆前会自动创建 `.backup` 备份文件
117
+ 2. 如果混淆后游戏无法正常运行,可以使用备份文件恢复
118
+ 3. 建议在构建完成后、发布前进行混淆
119
+ 4. 混淆会增加文件大小,但会提高代码安全性
120
+
121
+ ## 支持的平台
122
+
123
+ - **bytedance** - 字节跳动小游戏(Cocos Creator 2.x)
124
+ - **bytedance-mini-game** - 字节跳动小游戏(Cocos Creator 3.x)
125
+ - **wechatgame** - 微信小游戏
126
+
127
+ ## 许可证
128
+
129
+ ISC
130
+
@@ -0,0 +1,100 @@
1
+ # 使用指南
2
+
3
+ ## 发布到 npm(可选)
4
+
5
+ 如果你想将这个包发布到 npm 供其他人使用:
6
+
7
+ 1. 登录 npm:
8
+ ```bash
9
+ npm login
10
+ ```
11
+
12
+ 2. 发布包:
13
+ ```bash
14
+ cd cocos-obfuscator
15
+ npm publish
16
+ ```
17
+
18
+ ## 本地使用(推荐)
19
+
20
+ ### 方式一:使用 npm link(开发时推荐)
21
+
22
+ 在当前项目目录:
23
+
24
+ ```bash
25
+ cd cocos-obfuscator
26
+ npm link
27
+ ```
28
+
29
+ 然后在其他项目中使用:
30
+
31
+ ```bash
32
+ cd /path/to/other/project
33
+ npm link cocos-obfuscator
34
+ ```
35
+
36
+ 之后就可以在任何项目中使用 `cocos-obfuscate` 命令了。
37
+
38
+ ### 方式二:从本地路径安装
39
+
40
+ 在其他项目的 `package.json` 中添加:
41
+
42
+ ```json
43
+ {
44
+ "devDependencies": {
45
+ "cocos-obfuscator": "file:../cocos-obfuscator"
46
+ }
47
+ }
48
+ ```
49
+
50
+ 然后运行:
51
+
52
+ ```bash
53
+ npm install
54
+ ```
55
+
56
+ ### 方式三:从 Git 仓库安装
57
+
58
+ 如果包在 Git 仓库中,可以直接安装:
59
+
60
+ ```bash
61
+ npm install git+https://your-repo-url.git#cocos-obfuscator
62
+ ```
63
+
64
+ ## 在其他项目中使用
65
+
66
+ 安装后,在项目的 `package.json` 中添加脚本:
67
+
68
+ ```json
69
+ {
70
+ "scripts": {
71
+ "obfuscate": "cocos-obfuscate",
72
+ "obfuscate:bytedance": "cocos-obfuscate --platform bytedance",
73
+ "obfuscate:wechat": "cocos-obfuscate --platform wechatgame --include-subpackages"
74
+ }
75
+ }
76
+ ```
77
+
78
+ 然后运行:
79
+
80
+ ```bash
81
+ npm run obfuscate
82
+ ```
83
+
84
+ ## 更新包
85
+
86
+ 如果使用 npm link:
87
+
88
+ ```bash
89
+ cd cocos-obfuscator
90
+ # 修改代码后
91
+ npm link
92
+ ```
93
+
94
+ 如果使用 file: 路径安装,需要重新安装:
95
+
96
+ ```bash
97
+ cd /path/to/other/project
98
+ npm install
99
+ ```
100
+
@@ -0,0 +1,252 @@
1
+ # 如何在其他项目中使用
2
+
3
+ ## 🚀 快速开始(3 步完成)
4
+
5
+ ### 第一步:在当前项目链接包(已完成 ✅)
6
+
7
+ ```bash
8
+ cd cocos-obfuscator
9
+ npm link
10
+ ```
11
+
12
+ **注意**:这个步骤只需要执行一次,现在已经完成了。
13
+
14
+ ### 第二步:在新项目中链接
15
+
16
+ 进入你的其他 Cocos Creator 项目目录,运行:
17
+
18
+ ```bash
19
+ cd /path/to/your/other/project
20
+ npm link cocos-obfuscator
21
+ ```
22
+
23
+ ### 第三步:使用
24
+
25
+ ```bash
26
+ # 交互式选择(推荐)
27
+ cocos-obfuscate
28
+
29
+ # 或直接指定参数
30
+ cocos-obfuscate --platform bytedance
31
+ cocos-obfuscate --platform wechatgame --include-subpackages
32
+ ```
33
+
34
+ ---
35
+
36
+ ## 📝 完整示例
37
+
38
+ 假设你有一个新项目 `my-game`,目录结构如下:
39
+
40
+ ```
41
+ D:\projects\
42
+ ├── cocos\
43
+ │ ├── happyMahjongElimination\ (当前项目)
44
+ │ │ └── cocos-obfuscator\
45
+ │ └── my-game\ (新项目)
46
+ │ ├── package.json
47
+ │ └── build\
48
+ ```
49
+
50
+ ### 方法 A:使用 npm link(最简单)
51
+
52
+ ```bash
53
+ # 1. 在新项目中链接(只需一次)
54
+ cd D:\projects\cocos\my-game
55
+ npm link cocos-obfuscator
56
+
57
+ # 2. 使用
58
+ cocos-obfuscate
59
+ ```
60
+
61
+ ### 方法 B:在 package.json 中配置(推荐用于团队)
62
+
63
+ 在 `my-game/package.json` 中添加:
64
+
65
+ ```json
66
+ {
67
+ "name": "my-game",
68
+ "version": "1.0.0",
69
+ "scripts": {
70
+ "obfuscate": "cocos-obfuscate"
71
+ },
72
+ "devDependencies": {
73
+ "cocos-obfuscator": "file:../happyMahjongElimination/cocos-obfuscator"
74
+ }
75
+ }
76
+ ```
77
+
78
+ 然后:
79
+
80
+ ```bash
81
+ cd D:\projects\cocos\my-game
82
+ npm install
83
+ npm run obfuscate
84
+ ```
85
+
86
+ ---
87
+
88
+ ## 🎯 常用场景
89
+
90
+ ### 场景 1:单个项目使用
91
+
92
+ ```bash
93
+ # 在新项目中
94
+ npm link cocos-obfuscator
95
+ cocos-obfuscate --platform bytedance
96
+ ```
97
+
98
+ ### 场景 2:多个项目使用
99
+
100
+ 每个项目都执行:
101
+
102
+ ```bash
103
+ npm link cocos-obfuscator
104
+ ```
105
+
106
+ 或者使用 `file:` 路径在各自的 `package.json` 中配置。
107
+
108
+ ### 场景 3:集成到构建流程
109
+
110
+ 在 `package.json` 中:
111
+
112
+ ```json
113
+ {
114
+ "scripts": {
115
+ "build": "你的构建命令",
116
+ "obfuscate": "cocos-obfuscate",
117
+ "build:release": "npm run build && npm run obfuscate"
118
+ }
119
+ }
120
+ ```
121
+
122
+ 运行:
123
+
124
+ ```bash
125
+ npm run build:release
126
+ ```
127
+
128
+ ---
129
+
130
+ ## ⚙️ 配置选项
131
+
132
+ ### 在 package.json 中添加多个脚本
133
+
134
+ ```json
135
+ {
136
+ "scripts": {
137
+ "obfuscate": "cocos-obfuscate",
138
+ "obfuscate:bytedance": "cocos-obfuscate --platform bytedance",
139
+ "obfuscate:bytedance3": "cocos-obfuscate --platform bytedance-mini-game",
140
+ "obfuscate:wechat": "cocos-obfuscate --platform wechatgame",
141
+ "obfuscate:wechat:full": "cocos-obfuscate --platform wechatgame --include-subpackages"
142
+ }
143
+ }
144
+ ```
145
+
146
+ 使用:
147
+
148
+ ```bash
149
+ npm run obfuscate:bytedance
150
+ npm run obfuscate:wechat:full
151
+ ```
152
+
153
+ ---
154
+
155
+ ## 🔍 验证安装
156
+
157
+ 检查是否安装成功:
158
+
159
+ ```bash
160
+ # Windows
161
+ where cocos-obfuscate
162
+
163
+ # Linux/Mac
164
+ which cocos-obfuscate
165
+
166
+ # 查看帮助
167
+ cocos-obfuscate --help
168
+ ```
169
+
170
+ ---
171
+
172
+ ## ❓ 常见问题
173
+
174
+ ### Q1: 提示找不到命令?
175
+
176
+ **A:** 使用 `npx` 运行:
177
+
178
+ ```bash
179
+ npx cocos-obfuscate
180
+ ```
181
+
182
+ 或者在 `package.json` 中配置脚本后使用:
183
+
184
+ ```bash
185
+ npm run obfuscate
186
+ ```
187
+
188
+ ### Q2: 如何更新包?
189
+
190
+ **A:** 如果使用 `npm link`:
191
+
192
+ ```bash
193
+ # 在 cocos-obfuscator 目录修改代码后
194
+ cd cocos-obfuscator
195
+ npm link # 重新链接
196
+ ```
197
+
198
+ 如果使用 `file:` 路径:
199
+
200
+ ```bash
201
+ # 在新项目中
202
+ npm install # 重新安装
203
+ ```
204
+
205
+ ### Q3: 可以同时用于多个项目吗?
206
+
207
+ **A:** 可以!每个项目都可以独立使用:
208
+
209
+ ```bash
210
+ # 项目 A
211
+ cd project-a
212
+ npm link cocos-obfuscator
213
+
214
+ # 项目 B
215
+ cd project-b
216
+ npm link cocos-obfuscator
217
+ ```
218
+
219
+ ### Q4: 如何卸载?
220
+
221
+ **A:**
222
+
223
+ ```bash
224
+ # 在新项目中
225
+ npm unlink cocos-obfuscator
226
+
227
+ # 或从 package.json 中删除依赖后
228
+ npm install
229
+ ```
230
+
231
+ ---
232
+
233
+ ## 📚 更多信息
234
+
235
+ - [README.md](./README.md) - 完整功能说明
236
+ - [QUICKSTART.md](./QUICKSTART.md) - 快速开始指南
237
+ - [INSTALL.md](./INSTALL.md) - 详细安装方法
238
+ - [USAGE.md](./USAGE.md) - 高级用法
239
+
240
+ ---
241
+
242
+ ## ✅ 检查清单
243
+
244
+ 使用前确认:
245
+
246
+ - [ ] 已运行 `npm link`(在 cocos-obfuscator 目录)
247
+ - [ ] 在新项目中运行了 `npm link cocos-obfuscator`
248
+ - [ ] 项目有 `build/{platform}/assets/main/` 目录
249
+ - [ ] 已执行过 Cocos Creator 构建
250
+
251
+ 现在就可以开始使用了!🎉
252
+