[发明专利]一种 Python 源码安全防护的实现方法及系统在审
申请号: | 202010367799.3 | 申请日: | 2020-04-30 |
公开(公告)号: | CN111523120A | 公开(公告)日: | 2020-08-11 |
发明(设计)人: | 吴建亮;胡鹏;展艺 | 申请(专利权)人: | 广州锦行网络科技有限公司 |
主分类号: | G06F21/56 | 分类号: | G06F21/56;G06F21/60 |
代理公司: | 北京精金石知识产权代理有限公司 11470 | 代理人: | 刘广南 |
地址: | 510095 广东省广州*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 python 源码 安全 防护 实现 方法 系统 | ||
本发明涉及一种Python源码安全防护的实现方法及系统,包括如下步骤:S01.对Python源代码文件的内容进行加密;S02.修改Python解释器源码,获得修改后的Python解释器源码;S03.重新编译修改后的Python解释器源码得到Python二进制文件,并对Python二进制文件进行加壳保护,获得加壳的Python解释器;S04.使用加壳的Python解释器执行加密后的Python源代码程序,本发明在Python源代码文件加密的基础上,通过对编译后的Python解释器加壳,将Python源代码安全提升到了二进制文件安全,本发明解决了现有技术中Python源代码文件安全性较低的问题,增加了Python源代码的破译难度,加强了Python源代码安全。
技术领域
本发明涉及网络安全技术领域,具体的说是一种Python源码安全防护的实现方法及系统。
背景技术
Python编程语言作为当下编程最为流行的计算机语言,自从20世纪90年代初Python语言诞生至今,它已被逐渐广泛应用于系统管理任务的处理和Web编程,越来越多人的开始使用 Python,在各个领域都能看到Python的身影。Python属于脚本(解释性)语言,即编写的Python 代码最终是由Python解释器来解释执行,其Python代码文件(.py)本质上跟文本文件没有什么区别,使用任意的文本编辑器都可以打开.py文件并查看其源代码。在一些商业场景下,我们其实并不想暴露源代码,因此需要使用一些技术手段来保护我们Python源码的安全。
目前常用的Python源码保护方案大概有以下几种:
1.Python源码混淆:通过将py源码中的变量名、类名、函数名等重命名为一些无意义的名字、源码中插入一些无意义的垃圾代码以实现保护的目的,但其本质上并未对源码进行保护,通过一些方法可以将重命名的无意义的变量名、类名、函数名等再次重命名回有意义的名字。
2.使用打包工具(py2exe、pyinstaller)直接打包成exe可执行文件:通过使用第三方打包工具,将py文件打包成exe可执行文件以实现保护的目的。但通常这些打包工具都是开源的,可以通过阅读打包工具源码来了解其打包的过程,最后按照相反的规程解包即可。
3.将py文件转换为so文件:通过将py文件转换成动态链接库so文件以实现保护的目的,但该方法不适用于较大的工程,且转换过程比较繁琐。
中国专利文献CN110378085A公开了一种Python字节码防逆向方法,包括:步骤S100: Python解释器将采用Python语言编写的源码文件利用编译模块编译成字节码;步骤S200:虚拟机将字节码文件包含的操作码序列中的非关键操作码用新的值进行替换,使其包含新的操作码。操作码替换其实质为将字节码文件包含的操作码序列中的非关键操作码用新的值进行替换,使其包含新的操作码,从而改变操作码序列的内容与结构,达到防逆转的目的。该专利在保证Python字节码运行结果和逻辑正确的前提下,对字节码中的非关键操作码进行替换,改变字节码文件中的操作码序列的内容和结构,使得字节码不能够被逆向反编译出源代码,但采用 Python源码混淆的方法后,仍可以通过一些破解工具可将被替换的非关键操作码重新替换回来,安全性能较低。
中国专利文献CN107808101A公开了一种通过加密Python明文源码token的知识产权保护系统,保护系统包括加密系统和运行系统;所述加密系统包括Python明文源码token加密模块,所述Python明文源码token加密模块通过自定义的对称密钥加密算法对Python明文源码文件进行加密;所述运行系统包括新Python解释器,所述新Python解释器用来对Python密文代码文件进行解密;所述新Python解释器内添加有Python密文代码token解密运行模块,所述新Python解释器为Python原生解释器通过Python密文代码token解密运行模块修改得到。该专利可以有效的保护Python文件安全,但该方法未对Python二进制文件进行保护,源码的防护性较低。
发明内容
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州锦行网络科技有限公司,未经广州锦行网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010367799.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种废水处理装置
- 下一篇:一种具有削弱异味防漏功能的泌尿外科护理装置