[发明专利]防调试方法、装置、设备、存储介质和程序产品在审
申请号: | 202111355570.9 | 申请日: | 2021-11-16 |
公开(公告)号: | CN114036056A | 公开(公告)日: | 2022-02-11 |
发明(设计)人: | 殷猛;巫建平;倪传亮 | 申请(专利权)人: | 企查查科技有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F8/74 |
代理公司: | 广州华进联合专利商标代理有限公司 44224 | 代理人: | 伍健聪 |
地址: | 215000 江苏省苏州市苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 调试 方法 装置 设备 存储 介质 程序 产品 | ||
本申请涉及一种防调试方法、装置、设备、存储介质和程序产品。该方法包括:监测目标站点的前端调试功能;若监测到所述目标站点的前端调试功能被触发,启动预先配置在所述目标站点的前端源代码中的防调试机制;所述防调试机制用于禁止对所述目标站点的前端调试行为。采用本方法能够有效防止用户对目标站点代码的调试行为。
技术领域
本申请涉及计算机技术领域,特别是涉及一种防调试方法、装置、设备、存储介质和程序产品。
背景技术
经常会存在一些用户或者其他开发者,利用浏览器的代码调试功能来对目标站点进行逻辑调试,以破解或发现网站代码的具体运行逻辑,了解站点数据的加载逻辑与方式,进而获取站点数据。
随着越来越多的企业开始注重前端安全,相关技术中,很多企业都是使用代码混淆的方式来进行业务逻辑及源代码的保护和防调试,例如,可基于webpack(静态模块打包工具)或glup(自动化开发的工具)等构建工具中的代码混淆插件来实现对代码进行加密混淆。
然而,相关技术的防调试方式无法有效防止用户对目标站点代码的调试行为。
发明内容
基于此,有必要针对上述技术问题,提供一种能够有效防止用户对目标站点代码的调试行为的防调试方法、装置、设备、存储介质和程序产品。
第一方面,本申请提供了一种防调试方法,该方法包括:
监测目标站点的前端调试功能;
若监测到目标站点的前端调试功能被触发,启动预先配置在目标站点的前端源代码中的防调试机制;防调试机制用于禁止对目标站点的前端调试行为。
在其中一个实施例中,上述防调试机制的配置过程包括:
获取防调试函数代码;
将防调试函数代码配置在目标站点的前端源代码的插件中,完成防调试机制的配置。
在其中一个实施例中,上述将防调试函数代码配置在目标站点的前端源代码的插件中,完成防调试机制的配置,包括:
解析目标站点的前端源代码的抽象语法树;
将防调试函数代码注入至抽象语法树的节点中;
对注入后的目标站点的前端源代码进行模块化,完成防调试机制的配置。
在其中一个实施例中,上述将防调试函数代码注入至抽象语法树的节点中,包括:
监听抽象语法树的节点;
获取抽象语法树的节点中至少一个满足预设条件的节点;
将防调试对象注入至抽象语法树中所有满足预设条件的节点中;防调试对象为根据防调试函数代码生成的。
在其中一个实施例中,上述获取抽象语法树的节点中至少一个满足预设条件的节点,包括:
对于抽象语法树的节点中的任一个节点,若节点不为空、节点需要注入防调试对象且防调试对象注入状态为未注入防调试对象,则确定节点满足预设条件。
在其中一个实施例中,上述获取抽象语法树的节点中至少一个满足预设条件的节点,还包括:
若当前的抽象语法树的节点不满足预设条件,则对当前的抽象语法树的节点的下一个节点进行判断,直至遍历完所有的节点,得到至少一个满足预设条件的节点。
在其中一个实施例中,上述将防调试对象注入至抽象语法树中所有满足预设条件的节点中,包括:
将防调试对象注入至抽象语法树中所有满足预设条件的节点路径的头部和尾部。
第二方面,本申请还提供了一种防调试装置,该装置包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于企查查科技有限公司,未经企查查科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111355570.9/2.html,转载请声明来源钻瓜专利网。