[发明专利]一种Python代码加固保护的方法及其系统有效
申请号: | 202010004234.9 | 申请日: | 2020-01-03 |
公开(公告)号: | CN111240654B | 公开(公告)日: | 2023-03-14 |
发明(设计)人: | 刘德建;官泉;陈宏展 | 申请(专利权)人: | 福建天晴在线互动科技有限公司 |
主分类号: | G06F8/30 | 分类号: | G06F8/30;G06F8/41;G06F8/73;G06F21/12 |
代理公司: | 福州旭辰知识产权代理事务所(普通合伙) 35233 | 代理人: | 程勇 |
地址: | 350212 福*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 python 代码 加固 保护 方法 及其 系统 | ||
1.一种Python代码加固保护的方法,其特征在于:所述方法包括如下步骤:步骤S1、对目录内的每个Python源代码文件进行解析;解析后进行混淆操作,然后对全文件进行压缩,再进行加密操作;所述步骤S1中进一步具体为:对目录内的每个Python源代码文件进行解析;当解析获取到类、函数、全局变量、局部变量的名称字符串,则将名称字符串替换成随机乱序,或者无意义的字符,或由用户设定的字符进行混淆操作;当解析到常量字符串时,对每个字符串使用简单异或,或者取反,或者通过加密算法进行加密操作;当解析到常量浮点值或常量整型数值时,对其进行单次或多次数学运算操作;
步骤S2、根据用户设定的入口函数,添加一份新的可运行加密文件的新入口函数的Python源码,添加新入口函数的Python源码能使程序找到正确的解密途径,在运行时正常解密并执行;所述步骤S2中进一步具体为:根据用户设定的入口函数,创建一个新入口函数的Python源码,Python源码内容仅调用了入口函数,Python源码实现了导入带有解密算法的二进制文件,以及加密后的含有入口函数的源代码文件,在程序运行时,将首先运行新入口函数的Python源码,之后执行解密算法,再执行解密后的用户设定的入口函数,从而正常运行程序;
步骤S3、开发解密模块,所述解密模块用于在程序运行时并对加密的Python源代码文件进行解密,并根据新入口函数的Python源码将解密后的文件重新导入程序中进行运行;所述步骤S3中进一步具体为:查找入口函数并遍历当前需要进行解密的Python源代码,找到后对加密的Python源代码进行解密,即编写与加固应用中加密算法对应的解密算法代码;之后对解密后的文件进行解压缩,即编写与加固应用中压缩算法对应的解压算法代码;添加对解密后的源代码进行导入到新入口函数,新入口函数的Python源码能使程序找到正确的解密途径,并执行解密后的源代码。
2.根据权利要求1所述的一种Python代码加固保护的方法,其特征在于:混淆操作后,针对每个Python源代码的内容进行压缩,最后对压缩后的数据进行简单异或,或者取反,或者通过加密算法进行加密操作。
3.根据权利要求1所述的一种Python代码加固保护的方法,其特征在于:所述方法还包括对解密模块进行加壳操作,所述加壳操作具体为:先编译解密模块,然后采用加壳技术对解密模块自身进行保护,或者对解密模块内部编写解密代码,而后再编写对解密模块加壳的应用进行保护。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福建天晴在线互动科技有限公司,未经福建天晴在线互动科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010004234.9/1.html,转载请声明来源钻瓜专利网。