一个开源的自动代码混淆插件

MARK.顶一下.

mark!!!

没啥用,用配置的默认混淆,结果混淆下来比cocos打包出来的还大

1赞

请搞清楚混淆和压缩再评论哦。

1赞

这就有点专业了

2赞

专业团队.jpg

mark~~!楼主厉害了

mark,给楼主点赞

混淆代码 出android包运行报错!

换皮项目能用来过审吗:wink:

mark 支付下

这个难讲哦,我看到有些小伙伴可以有些不行,可能是有人工介入…

感谢支持哇 :smile_cat:

请问项目中是否有使用 this[‘字符串’] 的形式的调用呢,建议改成直接调用即可,不过编辑器可能会报错,不影响运行即可

混淆的不够强啊
可用信息还是挺多的
至少现在看到了类名,然后还有loadres之类的官方api
另外对象的属性名,方法名,和properties的属性名也没混
类名可以通过project.js最后的数组,获取所有类名,直接替换
官方的api,改成用.[string]来调用,然后string再加密
对象的属性名,这个需要开发者配合修改属性名来达到效果
混淆规则加上属性名正则混淆,比如.atk_m_会混淆.atk则不会
方法名其实也属于类的属性,可以通过正则混淆来实现
但由于编辑器有可能调用方法,比如button组件的clickEvent
所以放弃了正则混淆,改成获取脚本的方法名,然后再混淆,再同步修改json文件,以确保组件能正常调用脚本的方法
properties就和方法名差不多,获取所有在properties定义的属性,然后混淆,同步修改json文件
以上,除了对象的属性名需要开发者配合,其他的都可以无感混淆
我做原生,在底层把onLoad等方法都改了,脚本里一个有用的字符串都没
不过我代码写的丑,就不献丑了
楼主有空出个高级版吧

必须点赞.

如果用 this[xxx] 访问方式,xxx 是个变量,会影响吗?我这有段代码是这么写的。

这样应该没影响哈哈

下mark,用的到时候不着急

大佬的思路确实不错!!!