[发明专利]基于字节码替换的Python代码加固方法、系统、存储介质及计算机设备在审
申请号: | 202111536748.X | 申请日: | 2021-12-15 |
公开(公告)号: | CN116339688A | 公开(公告)日: | 2023-06-27 |
发明(设计)人: | 林聚伟;孙逊;王菁华 | 申请(专利权)人: | 三六零数字安全科技集团有限公司 |
主分类号: | G06F8/20 | 分类号: | G06F8/20;G06F8/41;G06F8/74;G06F21/60 |
代理公司: | 北京律诚同业知识产权代理有限公司 11006 | 代理人: | 王玉双;郑伟帮 |
地址: | 100016 北京市朝阳区酒*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 字节 替换 python 代码 加固 方法 系统 存储 介质 计算机 设备 | ||
本发明提供了一种基于字节码替换的Python代码加固方法,根据预定义规则,对第一Python脚本中的字节码进行替换处理,以生成第二Python脚本;检测识别加固后的所述第二Python脚本;依据与所述预定义规则映射关联的逆向解析规则,改写Python源码的解析程序;通过所述解析程序执行所述第二Python脚本。本发明还提供了一种基于字节码替换的Python代码加固系统、存储介质及计算机设备。借此,本发明能够有效防止python代码被恶意泄露剽窃。
技术领域
本发明涉及代码加密技术领域,尤其涉及一种基于字节码替换的Python代码加固方法、系统、存储介质及计算机设备。
背景技术
Python(计算机编程语言)提供了高效的高级数据结构,还能简单有效地面向对象编程。Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言,随着版本的不断更新和语言新功能的添加,逐渐被用于独立的、大型项目的开发。
采用Python代码开发的后台程序很多,但如何保护不泄露是个问题。而现有的后台程序很多直接将脚本代码暴露在后台,或者使用PyInstaller等编译成可执行程序,但是反编译也是很简单的,容易被恶意剽窃。
综上可知,现有的方法在实际使用上,存在着较多的问题,所以有必要加以改进。
发明内容
针对上述的缺陷,本发明的目的在于提供一种基于字节码替换的Python代码加固方法,系统、存储介质及其计算机设备,能够有效防止python代码被恶意泄露剽窃。
为了实现上述目的,本发明提供一种基于字节码替换的Python代码加固方法,包括步骤:
根据预定义规则,对第一Python脚本中的字节码进行替换处理,以生成第二Python脚本;
检测识别加固后的所述第二Python脚本;
依据与所述预定义规则映射关联的逆向解析规则,改写Python源码的解析程序;
通过所述解析程序执行所述第二Python脚本。
可选的,所述根据预定义规则,对第一Python脚本中的字节码进行替换处理,以生成第二Python脚本的步骤之后,还包括:
对所述第二Python脚本的pyc文件进行RC4加密处理;
所述检测识别加固后的所述第二Python脚本的步骤之后,还包括:
对所述pyc文件进行RC4解密处理。
可选的,所述对所述第二Python脚本的pyc文件进行RC4加密处理的步骤具体包括:
对所述pyc文件中的预设字节码段进行RC4加密处理。
可选的,所述根据预定义规则,对第一Python脚本中的字节码进行替换处理,以生成第二Python脚本的步骤包括:
将所述第一Python脚本的所述字节码中的奇数和偶数,按照所述预定义规则进行对调替换。
可选的,所述根据预定义规则,对第一Python脚本中的字节码进行替换处理,以生成第二Python脚本的步骤包括:
根据所述预定义规则,将所述第一Python脚本中的待替换字节码映射替换为预设字节码。
可选的,所述检测识别加固后的所述第二Python脚本的步骤具体包括:
根据待测脚本的pyc文件的目标字节码段的置位,以识别确定所述待测脚本是否为所述第二Python脚本。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于三六零数字安全科技集团有限公司,未经三六零数字安全科技集团有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111536748.X/2.html,转载请声明来源钻瓜专利网。