[发明专利]一种Python脚本混淆、水印的方法及装置有效
| 申请号: | 201810139504.X | 申请日: | 2018-02-11 |
| 公开(公告)号: | CN108363911B | 公开(公告)日: | 2021-10-29 |
| 发明(设计)人: | 赵培源;刘浩杰 | 申请(专利权)人: | 西安四叶草信息技术有限公司 |
| 主分类号: | G06F21/16 | 分类号: | G06F21/16;G06F21/14;G06F21/12 |
| 代理公司: | 西安泛想力专利代理事务所(普通合伙) 61260 | 代理人: | 李思源 |
| 地址: | 710077 陕西省西安市高新区锦*** | 国省代码: | 陕西;61 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | 本发明提供一种Python脚本混淆、水印的方法及装置,其中,一种Python脚本混淆、水印的装置,包括脚本源代码编译单元、解析单元、规则记录单元、优先权设定单元、co_varnames生成单元、封装单元、Loader生成单元、加密单元以及pyc文件生成单元,本发明还提供了一种Python脚本混淆、水印的方法,以提高python程序模块的安全性,并且保护编译后Python脚本不被反编译、水印不能被篡改,且兼容CPython、Jython、IronPython、PyPy等各种python解释器。 | ||
| 搜索关键词: | 一种 python 脚本 混淆 水印 方法 装置 | ||
【主权项】:
1.一种Python脚本混淆、水印的方法,其特征在于,包括如下步骤:第一步:根据要保护python脚本源代码编译单元生成所有PyCodeObject;第二步:为PyCodeObject的字节码co_code利用解析单元按照解析的时间顺序依次生成若干OPBLOCK实例,判断OPBLOCK实例中的opcode是否具备跳转,并记录跳转规则;第三步:依据记录的跳转规则以及生成的若干OPBLOCK实例,保留生成的OPBLOCK实例的时间顺序,将剩余的OPBLOCK实例随机排列;从物理空间上彻底打乱OPBLOCK实例,使反汇编工具无法顺序解析字节码;第四步:获取PyCodeObject的局部变量名元组co_varnames,替换为不合法的变量名;第五步:通过types.CodeType递归组装步骤三生成的co_code与步骤四生成的co_varnames;第六步:生成混淆的Loader,对Loader源代码进行编译形成Loader+0,并再次对Loader+0的PyCodeObject进行压缩;并以Loader混淆后PyCodeObject的字节码co_code作为密钥对压缩后的数据进行加密,最终替换Loader中的compressed_encrypted_data以便Loader在启动后动态解密和解压;第七步:生成混淆后的pyc文件。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安四叶草信息技术有限公司,未经西安四叶草信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201810139504.X/,转载请声明来源钻瓜专利网。





