收藏
评论

小程序代码加固功能上线公告官方

为提高微信开放平台生态安全性,针对小程序开发过程中的安全问题,如代码易被反编译,核心业务逻辑被破译,算法易被二次打包等,导致小程序存在被破解、核心代码被盗取的风险,平台在微信开发者工具上线了代码加固功能,协助开发者保护小程序安全。

一、功能介绍


小程序代码加固是提供给开发者对小程序前端代码进行加密的功能,以防止代码暴露。该功能可将 JavaScript 文件传递给加密工具,从而实现字符串加密、属性加密、调用转换、代码混淆等多项保护措施,提高攻击者阅读前端代码逻辑的难度。


二、解决方案


微信开放平台通过在微信开发者工具中提供插件的方式,以便开发者进行功能的使用。同时还提供了Sourcemap代码加固调试工具,来帮助开发者对于加固后的文件进行错误分析。


三、功能使用


1、首先需在微信开发者工具选择代码加固插件进行安装;


2、选择需要加固的文件并进行配置操作,建议加固小程序中的敏感数据信息、核心算法逻辑、关键执行路径、接口(签名算法、协议、密钥等)。 

另:界面操作和渲染、引用的第三方开源库等非必要安全保护内容可不进行加固,避免过多影响小程序体积及性能。


3、最后加固成功后可进行后续页面的预览,具体使用说明详见 功能介绍文档


四、常见问题

Q1: 加固后显示编译结果失败?

A1: 表示所加固的小程序内容,在小程序编译结果中没有对应的代码,所以导致替换失败,可以根据失败的提示信息,进行具体排查

显示

Q2: 如果想一次性批量进行代码加固,应该如何操作呢?

A2: 若需要批量进行代码加固,可直接修改code_obfuscation_config.json中的configs字段即可

显示

代码示例如下:


Q3: 使用 Sourcemap 代码加固调试时,为什么查找不到报错路径?

A3: srcMiniprogramRoot目录下不存在该报错文件所对应的源文件

显示

Q4: 代码加固后会对产品性能有影响吗?

A4: 产品性能影响与代码加固的内容、大小和数量有关,可能会影响代码体积,产品初始化耗时和执行速度,可通过 性能说明文档 作进一步了解。



如有其他相关疑问,欢迎随时参与社区讨论


47421浏览
最后一次编辑于  2022-07-22
收藏

32 个评论

  • 小阳崽
    小阳崽
    发表于小程序端
    2022-07-22

    能设计一个一键加固功能吗

    2022-07-22
    赞同 1
    回复 12
    • 社区运营专员-wetingtu
      社区运营专员-wetingtu
      2022-07-22
      你好,具体可以说下想如何实现?目前该功能是直接右键选择即可的
      2022-07-22
      1
      回复
    • *
      *
      2022-07-25回复社区运营专员-wetingtu
      加固功能后期可以配置在开发者工具里的本地设置里吗? 就好比 '上传代码时进行代码保护' 一样
      2022-07-25
      回复
    • 社区运营专员-wetingtu
      社区运营专员-wetingtu
      2022-07-26回复*
      你好,有实际进行体验嘛?现在在点击【预览】/【真机调试】/【上传】后,都会相应执行加固,是觉得哪里不方便嘛?
      2022-07-26
      回复
    • 所向无一
      所向无一
      2022-08-05回复社区运营专员-wetingtu
      我使用了小程序 ci 工具去自动化上传,现在如果使用加固功能,还要到开发者工具进行上传,那 cicd 的还有什么用呢?
      2022-08-05
      回复
    • 社区运营专员-wetingtu
      社区运营专员-wetingtu
      2022-08-05回复所向无一
      抱歉,目前我们代码加固功能是只支持在开发者工具中使用的哈
      2022-08-05
      回复
    查看更多(7)
  • 爆破步兵
    爆破步兵
    发表于小程序端
    2022-07-22

    加密了怎么破解?

    2022-07-22
    赞同 8
    回复 2
    • Lei
      Lei
      2022-09-28
      同问
      2022-09-28
      回复
    • -.-fadeaway
      -.-fadeaway
      2023-01-12
      加固后,我拿开发版逆向出来的代码跟之前没啥区别哇。。。
      2023-01-12
      回复
  • 维她命系
    维她命系
    2023-07-21

    需要增加 ci 工具支持的,在这里集合。

    2023-07-21
    赞同 4
    回复
  • 启年
    启年
    2022-07-21

    ,是你吗?秀儿!!!

    2022-07-21
    赞同 2
    回复
  • Qx#ToRReS🍀
    Qx#ToRReS🍀
    2023-05-12

    请问这个开发者自行加固是市面上卖的加固服务有什么区别,比如这个网易易盾这种https://dun.163.com/product/android-reinforce?from=baiduP_YYJG_C190307P2&sdclkid=A5f615ei15fiASDixOj

    2023-05-12
    赞同 1
    回复 2
  • liuy
    liuy
    2023-05-10

    代码加固,提示加固无法发起,加固配置内没有合法的js文件,请问这是什么原因?

    正常编译、调试、运行都是OK的。加固配置文件内容如下:

    {

    "desc": "关于本文件的更多信息,请参考文档 代码加固开发者文档: https://developers.weixin.qq.com/miniprogram/dev/devtools/code_obfuscation.html",

    "switch": true,

    "configs": [

    {

    "path": "app.js",

    "sub_switch": true

    }

    ]

    }


    2023-05-10
    赞同 1
    回复 15
    • 社区运营专员-wetingtu
      社区运营专员-wetingtu
      2023-05-11
      你好,麻烦提供appid,代码加固的时间点,报错页面截图,以便进行后续排查
      2023-05-11
      回复
    • liuy
      liuy
      2023-05-11回复社区运营专员-wetingtu
      APPID是wxaa95c04ac1617933,时间就是发帖时间左右
      2023-05-11
      回复
    • 社区运营专员-wetingtu
      社区运营专员-wetingtu
      2023-05-11回复liuy
      建议你直接对需要加固的js文件,点击右键选择进行加固
      2023-05-11
      回复
    • liuy
      liuy
      2023-05-11回复社区运营专员-wetingtu
      是的,我就是点右键这样操作的,然后点预览,就会弹这个提示,开发者工具为最新版本
      2023-05-11
      回复
    • 社区运营专员-wetingtu
      社区运营专员-wetingtu
      2023-05-11回复liuy
      截图看下code_obfuscation_config.json文件
      2023-05-11
      回复
    查看更多(10)
  • 小猪快跑
    小猪快跑
    2022-08-12

    这必须赞一个,虽然做小程序的大多都不是大牛,但好歹也是自己辛辛苦苦写出来的,别人模仿一个倒也无所谓,换皮就真心难受,特别是那些成产业链条的公司,简直恶心到家。我两年前写的一个小程序,找不到源码了,前几天直接网上傻瓜教程,完美反编,除了有一个js的名字改了,其他一摸一样,再加上本来就是自己的云环境,完美运行啊,庆幸之余也心有余悸。理论上讲,小程序是在微信生态里闭环运行的,可以做一套开发加密,运行解密的环境,类似对称加密那种,不定时修改密钥,基本上能达到99%的安全。希望这次的加固能挺得久一点,赞!

    2022-08-12
    赞同 1
    回复
  • 一笑皆春
    一笑皆春
    2022-07-25

    2022-07-25
    赞同 1
    回复
  • 小阳崽
    小阳崽
    2022-07-22

    请问相关文件加固一次后,后续是不是就会默认加固了?


    2022-07-22
    赞同 1
    回复 1
    • 社区运营专员-wetingtu
      社区运营专员-wetingtu
      2022-07-22
      你好,对相关文件右键点击加固后,会自动添加进配置中,后续在点击【预览】/【真机调试】/【上传】后,都会相应执行加固,也可自行在code_obfuscation_config.json修改对应的配置
      2022-07-22
      回复
  • 青寒
    青寒
    2022-07-21

    有没有可能默认对所有上传的小程序代码进行自动加固?

    2022-07-21
    赞同 1
    回复 4
    • 社区运营专员-wetingtu
      社区运营专员-wetingtu
      2022-07-22
      你好,暂时没有,开发者可自行进行代码加固选择
      2022-07-22
      回复
    • 社区运营专员-wetingtu
      社区运营专员-wetingtu
      2022-07-22
      另外,我们建议是对需要安全保护的内容进行加固,不必要的内容也可不用选择进行加固
      2022-07-22
      回复
    • 等疯🐶
      等疯🐶
      2022-07-25回复社区运营专员-wetingtu
      我觉得还是得全面加固,以保证开发者的代码不被窃取,像样式布局这些代码也很重要,有些人就爱找一个好看的且符合自己需要的小程序反编译出来然后修修改改就上线
      2022-07-25
      回复
    • 社区运营专员-wetingtu
      社区运营专员-wetingtu
      2022-07-26回复等疯🐶
      因为加固的内容越多,对产品性能的影响可能越大,建议综合考量下,若都可以接受,也可以选择全面进行加固
      2022-07-26
      回复

正在加载...

登录 后发表内容