[发明专利]基于字节码替换的Python代码加固方法、系统、存储介质及计算机设备在审
申请号: | 202111536748.X | 申请日: | 2021-12-15 |
公开(公告)号: | CN116339688A | 公开(公告)日: | 2023-06-27 |
发明(设计)人: | 林聚伟;孙逊;王菁华 | 申请(专利权)人: | 三六零数字安全科技集团有限公司 |
主分类号: | G06F8/20 | 分类号: | G06F8/20;G06F8/41;G06F8/74;G06F21/60 |
代理公司: | 北京律诚同业知识产权代理有限公司 11006 | 代理人: | 王玉双;郑伟帮 |
地址: | 100016 北京市朝阳区酒*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 字节 替换 python 代码 加固 方法 系统 存储 介质 计算机 设备 | ||
1.一种基于字节码替换的Python代码加固方法,其特征在于,包括步骤:
根据预定义规则,对第一Python脚本中的字节码进行替换处理,以生成第二Python脚本;
检测识别加固后的所述第二Python脚本;
依据与所述预定义规则映射关联的逆向解析规则,改写Python源码的解析程序;
通过所述解析程序执行所述第二Python脚本。
2.根据权利要求1所述的基于字节码替换的Python代码加固方法,其特征在于,所述根据预定义规则,对第一Python脚本中的字节码进行替换处理,以生成第二Python脚本的步骤之后,还包括:
对所述第二Python脚本的pyc文件进行RC4加密处理;
所述检测识别加固后的所述第二Python脚本的步骤之后,还包括:
对所述pyc文件进行RC4解密处理。
3.根据权利要求2所述的基于字节码替换的Python代码加固方法,其特征在于,所述对所述第二Python脚本的pyc文件进行RC4加密处理的步骤具体包括:
对所述pyc文件中的预设字节码段进行RC4加密处理。
4.根据权利要求1所述的基于字节码替换的Python代码加固方法,其特征在于,所述根据预定义规则,对第一Python脚本中的字节码进行替换处理,以生成第二Python脚本的步骤包括:
将所述第一Python脚本的所述字节码中的奇数和偶数,按照所述预定义规则进行对调替换。
5.根据权利要求1所述的基于字节码替换的Python代码加固方法,其特征在于,所述根据预定义规则,对第一Python脚本中的字节码进行替换处理,以生成第二Python脚本的步骤包括:
根据所述预定义规则,将所述第一Python脚本中的待替换字节码映射替换为预设字节码。
6.根据权利要求1所述的基于字节码替换的Python代码加固方法,其特征在于,所述检测识别加固后的所述第二Python脚本的步骤具体包括:
根据待测脚本的pyc文件的目标字节码段的置位,以识别确定所述待测脚本是否为所述第二Python脚本。
7.根据权利要求1所述的基于字节码替换的Python代码加固方法,其特征在于,所述依据与所述预定义规则映射关联的逆向解析规则,改写Python源码的解析程序的步骤具体包括:
获取基于所述预定义规则映射关联的逆向解析规则;
根据所述逆向解析规则,更改Python源码中的字节码解析引擎。
8.一种基于字节码替换的Python代码加固系统,其特征在于,包括有:
脚本加固单元,用于根据预定义规则,对第一Python脚本中的字节码进行替换处理,以生成第二Python脚本;
脚本识别单元,用于检测识别加固后的所述第二Python脚本;
源码改写单元,用于依据与所述预定义规则映射关联的逆向解析规则,改写Python源码的解析程序;
脚本执行单元,用于通过所述解析程序执行所述第二Python脚本。
9.一种存储介质,其特征在于,用于存储一种用于执行权利要求1~7中任意一种所述基于字节码替换的Python代码加固方法的计算机程序。
10.一种计算机设备,包括存储介质、处理器以及存储在所述存储介质上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1~7任一项所述基于字节码替换的Python代码加固方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于三六零数字安全科技集团有限公司,未经三六零数字安全科技集团有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111536748.X/1.html,转载请声明来源钻瓜专利网。