评论

加固插件已激活,加固前,加固配置内没有合法的js文件

简单记录代码加固插件无法正常运行解决方法

最近,微信开发工具的代码加固秃然用不了了。每次预览时都会提示 加固插件已激活,加固前,加固配置内没有合法的js文件,请检查路径

尝试了把加固插件卸载重装、开发工具升级最新版、基础库切换到最新版本依然无法解决问题。社区中也有人6月份反馈类似问题:https://developers.weixin.qq.com/community/develop/doc/0000cc339300d0c325ef9570b56c00

配置其实都是正确的,这个提示真是让人一头雾水。

没办法啊,只能自己继续摸索

尝试把开发工具的授权全部清除,这样在预览时加固插件会先请求授权,但是授权的弹窗提示让我觉得有些奇怪:

null extension description。。。这是插件没有安装成功吗?

然后在工具的输出栏可以看到加固插件(appid是wxext871b2e053677418)运行日志,无意间发现插件的安装目录其实是在C:\Users\Yunfay\AppData\Local\微信开发者工具\User Data\,这个目录因为之前因为占用空间太大,已经达到了15G,C盘告警,所以我有更换过储存目录,然后用mklink建了一个软链,这个方法很早前官方人员也有在社区中提及过,这个是帖子链接 https://developers.weixin.qq.com/community/develop/doc/000e8eed8a4448555dc9c877f5b400

最后把软链删除,并将之前移走的文件挪回原来目录,代码加固插件也就恢复正常了。。。

现在只能把开发工具卸载重装,不然C盘的占用空间有些夸张。

不清楚加固插件里面的处理逻辑或者说是mklink有什么副作用(欢迎知道原理的大佬评论指点一下),这里简单把这个问题记录一下,希望那些还在被这个问题困扰的小伙伴也能有所启发。

最后一次编辑于  2023-09-17  
点赞 3
收藏
评论

2 个评论

  • cc
    cc
    07-12

    微信小程序云开发项目结构

    xxx_project
    ├── cloud
    ├── miniprogram
    │   ├── app.js
    │   ├── app.json
    │   ├── app.wxss
    │   └── pages
    │       └── index
    │           ├── index.js
    │           ├── index.json
    │           ├── index.wxml
    │           └── index.wxss
    ├── code_obfuscation_config.json
    ├── project.config.json
    └── project.private.config.json
    

    上面这种项目结构可以成功加固的

    project.config.json中记得配置cloudfunctionRoot和miniprogramRoot

    code_obfuscation_config.json文件:

    {
        "switch"true,
        "configs": [
            {
                "path""pages/index/index.js",
                "sub_switch"true
            },
            {
                "path""app.js",
                "sub_switch"true
            }
        ]
    }
    

    点预览或真机调试加固成功后会有projectmaps文件夹生成


    最开始预览时都会提示 加固插件已激活,加固前,加固配置内没有合法的js文件,请检查路径

    于是我右键想要加固的js文件,发现code_obfuscation_config.json生成在微信开发者工具(vscode魔改)的工作区根目录。

    刚开始我想,加固配置文件都在工作区根目录,想要加固的js文件路径path不应该是下面这样吗??

    于是我改成下面这样

    "path": "minprogram/pages/index/index.js"
    


    结果是还是一样,提示:加固插件已激活,加固前,加固配置内没有合法的js文件,请检查路径

    后面我换成下面这样

    "path": "pages/index/index.js"
    

    就成功加固了

    想要加固的js文件路径path是以miniprogramRoot作为根目录的??

    这很反常识,code_obfuscation_config.json在工作区根目录,不应该以工作区根目录为起点吗,怎么以miniprogramRoot为起点。。。

    总的来说,做代码加固插件的程序员没有考虑到云开发这种项目结构,

    导致code_obfuscation_config.json 无论是普通的小程序项目还是云开发小程序项目 都要放在微信开发者工具工作区根目录。。

    07-12
    赞同
    回复
  • 张有釜
    张有釜
    2023-09-21

    整个加固功能 相当于发个公告 现在小程序可以破解

    2023-09-21
    赞同
    回复
登录 后发表内容