微信小游戏,代码压缩混淆工具

最后有点闲又有点穷,准备写个微信小游戏代码的压缩及混淆的工具。

先主写压缩,后面再重点处理混淆部分。体积小点好下载,发布代码难看点,好保护代码及过审。

下载地址:
链接: https://pan.baidu.com/s/1tNvUJelkmOg_fBZVTf721A 提取码: ds73

环境:CocosCreator3D v1.0.4


功能:1.重写项目代码文件的路径。
效果如下:


2.混淆代码


工具使用方法:
1.打开压缩包里面有个bat文件,修改bat里面的配置路径为你的微信小游戏构建出来的目录。
下图中,红色框里面的路径。

2.然后运行jspackers.bat文件即可看到发布的代码已经给处理过了。


##相关配置说明

jspackers.bat

该文件在工具同目录下

@echo off
set wxbuild=D:\codes\demo\build1\wechatgame

jspackers.exe -m -f -p wx %wxbuild%
  1. 第二行 “ = “ 后填的是微信小游戏生成的目录路径,支持多个,可以用空格分隔。
  2. 第四行中的 -m 是进行混淆处理,混淆相关配置会在config.json里面,如果不需要做混淆处理,只处理路径,也可以把 -m 这个配置去掉。
  3. 第四行中的 -f 是进行提取项目关键字,去掉可以加快运行速度,如果项目代码过多时,可以跑一次之后去掉,加快工具的运行速度。

config.json

该文件在第一次运行工具后,自动生成在同目录下

{
    "author": "yans",
    "limitLength": 3,
    "platforms": {
        "wechat": {
            "setting": "src/settings.js",
            "project": [
                "./src/project.js"
            ],
            "extern": [],
            "projectkw": [],
            "projectkwNoRep": [],
            "noRepPath": {
                "res\\\\import\\\\[^\\.]*.json": [
                    "\"handler\":\\s*\"(\\w*)\""
                ]
            }
        }
    },
    "custom": [
        "cols",
        "data",
        "maps"
    ]
}

limitLength = 3 , 混淆的关键词最短长度。

setting = “src/settings.js”, 默认的项目配置文件

project = “./src/project.js”,项目代码路径,如果有分包代码的话,第一次会自动提取分包代码路径,也可以自己修改

extern = [],外部关键词的列表,会在运行工具之后自动提取。此部分为工具保留字段,修改无效

projectkw = [],项目可替换关键词列表,同样也由工具自动生成,修改无效

projectkwNoRep = [],项目不可替换关键词列表,由工具自动生成,修改无效

noRepPath = {},外部保留关键词,参考的配置是提取import目录下json文件,里面的所有外部点击事件关键词。如要自己修改的话,可以照着格式,写点正则匹配即可。

custom = [],这部分是自己项目里的自定义保留关键词。比如一些外部接口,或者是一些部分数据。


问题自查流程:

  1. JS在线美化 分别把源代码跟混淆过的代码,在网上找个js美化工具进行处理,方便查看追踪代码。
  2. 找出来被混淆后导致报错的关键词,把它加到config.json里面的custom里面。

PS:后续工具有更新的时候,会把最新的内容放在解决方案楼里。

:grinning: 厚着脸皮求支持,多少都是肉,多少都是爱。谢谢老板们。谢谢。。。

14赞

赞,楼主非常有行动力,支持一下!最近正有人在问混淆的问题,我可以帮你将工具的价值发挥出来!

#两年半,助力开发者「副业增收」终于不再是一句口号了!(真实案例)

实用,支持下

支持egret laya air的引擎小游戏吗?

第二版本:
链接: https://pan.baidu.com/s/1YkjPkCD-oVI0gIyuQQHlsw 提取码: 6p4w
测试环境:CocosCreator3D v1.0.4
增加功能:处理了project.js里以“project:///"为开头的地址,同时也处理了settings.js里面相关路径。
效果如下:

今天还做了下测试,web-mobile跟web-desktop两个平台也是可以用的。
至此,文件路径,文件引用等信息的压缩及混淆已经完成。接下来会往代码混淆方向开发。

另外,谢谢 @zxh19821 老板的支持,老板大气!

3赞

没用过那几个引擎哈,先把cocos做好。

工具代码可以分享一下吗?

mark

预告一下,混淆的功能差不多好了。效果如上。。
周末整理一下,就发上来给大家玩玩。

1赞

最新版本的混淆工具已经上传,重新编辑了正文。
本工具暂时只支持C3d发布出来的微信小游戏项目,web-mobile跟web-desktop三个平台,其它平台未测试过。

支持,谢谢分享

谢谢。。

mark

新版本不行

报的什么错?测试的时候用的就是1.0.4。

mark

creator的需求大吗?大的话可以弄一个。

mark

问下怎么混淆cococs 2.3 的版本 ,红包酬谢

还没处理creator非3d版本的混淆。
放论坛里看着没什么需求,就一直没弄。