首页 > 其他分享 >代码加固

代码加固

时间:2025-01-16 09:58:07浏览次数:1  
标签:文件 代码 js 点击 开发者 加固

小程序代码加固功能介绍

为提高微信开放平台生态安全性,针对小程序开发过程中的安全问题,如代码易被反编译,核心业务逻辑被破译,算法易被二次打包等,导致小程序存在被破解、核心代码被盗取的风险。平台将提供代码加固功能,可实现对小程序前端代码进行加密,以防止代码暴露,提高攻击者阅读前端代码逻辑的难度,同时开发者也应注意自身开发规范的严谨性,保证小程序的代码质量,保护小程序安全。 小程序代码加固是提供给开发者对小程序前端代码进行加密的功能,以防止代码暴露。

一、 功能简介

代码加固功能为官方提供的一款插件,只需在微信开发者工具中直接进行安装即可,操作便捷,无需额外耗时,可将JavaScript文件传递给加密工具,从而实现字符串加密、属性加密、调用转换、代码混淆等多项保护措施。建议涉及小程序中的敏感数据信息、核心算法逻辑、版权内容等需要安全保护的内容,都可以进行代码加固。希望通过以下使用说明(运行环境、安装流程、使用流程、反查流程),能帮助开发者更好地运用该功能。

二、 运行环境

  • 下载并安装 1.06.2206271 或以上版本的开发者工具,下载地址

三、 安装流程

方式一:打开微信开发者工具,在菜单栏选择"工具-插件-编辑器扩展"或"设置-扩展设置-编辑器扩展",找到 "代码加固" 点击"获取"进行安装。安装成功后,即可使用该插件功能。

显示

显示

方式二:打开微信开发者工具,直接点击"扩展"图标,在搜索栏中搜索"devtool-code-obfuscation" 并进行安装。安装成功后,即可使用该功能。

显示

显示

四、 使用流程

  1. 首先将生成加固配置文件,微信开发者工具首次加载激活插件时,会在当前工作区自动创建一份加固配置。

显示

  1. 选择需要进行加固的代码,如app.js,点击右键选择"进行代码加固"。

显示

  1. 选择点击"预览"/"真机调试"/"上传"后,会有对应提示弹窗,点击"确定"后,开始执行代码加固,并可完成后续预览

显示

五、 反查流程

    1. 当在vConsole或者https://mp.weixin.qq.com/("开发管理-运维中心-错误日志-错误内容")处,查看到有相关DEBUG 信息的错误内容时( 如[DEBUG app.js:34] ),代表该报错是加固后的文件所导致的,请注意该特征不会出现在未加固的文件中,未加固的文件仍保留原报错格式( 如mock(app.js:5:37) )
  • vConsole 中展示的错误内容

显示

显示

  • mp小程序管理后台展示的错误内容

显示

  1. 在开发者工具中找到 projectmaps 目录下任意的 ***.js.map.json 文件,点击右上角面板的编辑器标题栏,打开"Sourcemap代码加固调试",使用该工具可方便开发者对于加固后的文件进行错误分析

显示

显示 3. 将对应的DEBUG信息输入,以[DEBUG app.js:34] 为例,则分别将“ app.js ”和“ 34 ”输入至左右空白框中,前者为报错的文件名,后者则为在 vm 中的 pc 值,点击【反查】,可显示报错位置及对应文件

显示

  1. 若点击"定位",则显示代码加固调试源文件,且对具体位置进行标红,以便查找

显示 5. 若点击报错路径,则直接跳转至对应位置的文件处

显示

其他常见问题

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

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

显示

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

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

显示

代码示例如下:

{
    "desc": "关于本文件的更多信息,请参考文档 代码加固开发者文档",
    "switch": true, // 加固总开关,关闭则不执行加固流程
    "configs": [
    {
    "path": "pages/index/index.js", // 加固文件的路径
    "sub_switch": true // 加固子开关,该文件是否需要加固
    }
  ]
}

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

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

显示

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

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

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

标签:文件,代码,js,点击,开发者,加固
From: https://www.cnblogs.com/AtlasLapetos/p/18642078

相关文章

  • 代码片段
    代码片段是一种可分享的小项目,可用于分享小程序和小游戏的开发经验、展示组件和API的使用、复现开发问题等等。分享代码片段会得到一个链接,所有拥有此分享链接的人可以在工具中导入此代码片段。如果网页可点击的链接指向的是分享链接,那么点击链接也会自动打开工具进入代码片段导......
  • 代码编译
    代码编译将JS代码编译成ES5开启此选项,开发者工具将使用babel将JS代码编译成ES5标准的代码,以满足运行在低版本手机系统的要求。在工具1.05.2106091版本之后,原有的ES6转ES5和增强编译选项统一合并为将JS代码编译成ES5,此功能和原有的增强编译逻辑一致。如需了......
  • 常用阈值分割算法及 C++ 代码分析(二)
    一、概述阈值分割是图像处理中一种基础且重要的技术,它的核心思想是通过设定一个或多个阈值将图像中的像素划分为不同的类别,以实现图像中目标和背景的分离,或者不同目标之间的分离。这种技术广泛应用于物体检测、图像识别、医学影像处理、遥感图像处理等众多领域。在C++环境下......
  • 传统图像增强在深度学习神经网络中的应用及代码分析(一)
    摘要在深度学习蓬勃发展的当下,图像数据的质量对神经网络模型的性能有着至关重要的影响。传统图像增强技术作为提升图像质量的重要手段,在深度学习神经网络中发挥着独特而关键的作用。本文深入探讨了传统图像增强在深度学习神经网络中的多方面应用,分析了其在不同领域的应用实例,......
  • 一元多项式的求导(附加代码模式)
    题目描述一个一元多项式可以看作由若干个一元单项式按降幂排列成的线性表。请编写程序对输入的一元多项式进行求导,并输出求导的结果。本题是附加代码模式,主函数main会自动附加在同学们提交的代码后面,请同学们在提交的时候注释掉附加代码。附加代码如下:int main(){  ......
  • 代码随想录算法训练营第二十天 | 235. 二叉搜索树的最近公共祖先、701. 二叉搜索树中
    235.二叉搜索树的最近公共祖先题目链接:https://leetcode.cn/problems/lowest-common-ancestor-of-a-binary-search-tree/description/文档讲解:https://programmercarl.com/0235.%E4%BA%8C%E5%8F%89%E6%90%9C%E7%B4%A2%E6%A0%91%E7%9A%84%E6%9C%80%E8%BF%91%E5%85%AC%E5%......
  • 代码随想录Day36 | 1049.最后一块石头的重量 II,494.目标和,474.一和零
    代码随想录Day36|1049.最后一块石头的重量II,494.目标和,474.一和零1049.最后一块石头的重量视为背包问题,求解sum/2容量背包能装下的最大重量返回的是这一部分石头与另一部分的差值的绝对值代码即为经典的01背包问题classSolution{publicintlastSt......
  • X00456-基于金融知识图谱的实体检索系统完整代码文件
    本系统整合了Yago和Dbpedia公开数据集,基于纳斯达克500强公司数据进行抽取,构建了金融领域的知识图谱。系统采用Vue、Django和MySQL技术栈,提供交互式可视化界面,支持实体检索、实体信息查看、相关实体推荐及实体相关新闻等功能。通过这些功能,用户能够更加直观地探索知识图谱,并迅速获......
  • 代码审计-PHP原生开发&SQL注入&数据库监控&正则搜索&文件定位&静态分析
    知识点1、PHP审计-原生态开发-SQL注入&数据库语句监控2、PHP审计-原生态开发-SQL注入&正则匹配搜索3、PHP审计-原生态开发-SQL注入&功能追踪代码审计分类:1、原生态开发-代码审计源码案例2、框架类开发-代码审计源码案例3、组件类开发-代码审计源码案例4、前端类开发-代码......
  • 获取阿里巴巴商品详情的高效途径:API调用与代码示例
    在当今电商蓬勃发展的时代,阿里巴巴作为全球知名的B2B平台,汇聚了海量的商品信息。对于开发者和商家而言,能够精准、高效地获取这些商品详情数据,无疑将为业务拓展和决策提供强大助力。本文将为您详细解读如何通过阿里巴巴开放平台API获取商品详情,并附上实用的代码示例,助您轻松上手......