适用于 Cocos 的 JSC 加解密工具
Cocos Creator 在构建的时候支持对脚本进行加密和压缩。
然而,官方并没有提供一个解压和解密的工具。这给 jsc 的二次修改和重用带来了不便。
本工具弥补了这个不足:提供了与 Cocos Creator 相同的加密、解密、压缩、解压的方法。可以很方便地对构建得到的 jsc 进行解密、解压得到 js ,也可以将 js 压缩、加密回 jsc 。
此 master 分支的脚本适用于 CocosCreator 1.x 编译导出的 jsc文件,如果你使用的 CocosCreator 为 2.0.2 版本,请切换到 v2.0 分支。
如果使用加密功能,第二个参数设置为 encrypt
;如果使用解密功能,第二个参数设置为 decrypt
。此参数为必选参数
如需设置加密密钥,添加 --key
或 -k
参数,并跟上加密密钥字符串。如不设置,会在命令行中提示输入
如需设置为非压缩方案,添加 --nozip
或 -n
参数,并设置为 true。如不设置,默认为压缩方案
非压缩方案是指Cocos编译时没有勾选“Zip 压缩”选项
找到 CocosCreator 编译出来的 .jsc 文件,一般在工程目录下 build/jsb-default/src
文件夹下。你可以在脚本运行时,根据提示输入文件的路径来指定对应文件。也可以添加 --path
或 -p
参数,设置为文件路径。如不设置,会在命令行中提示输入
运行脚本即可。
decryptOutput/decrypt.js
encryptOutput/projectChanged.jsc
举例:
./edc.py encrypt --key yourkey --nozip true # 加密,不压缩
./edc.py decrypt --nozip true # 解密,不需要解压
./edc.py decrypt # 解密并解压
import edc
进行导入edc.decrypt(is_zip, key, jsc_path)
或 edc.encrypt(is_zip, key, js_path)
即可,可参考 edcExample.py 文件。如果是非交互式脚本,请务必在调用方法时传入有效的参数,并保证其正确性
参数名 | 缩写 | 是否必须 | 默认值 |
---|---|---|---|
encrypt/decrypt | 无 | 是 | - |
--key | -k | 否 | - |
--nozip | -n | 否 | false |
--path | -p | 否 | - |