[发明专利]一种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/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top