[发明专利]一种Python代码反编译方法、系统及可读存储介质在审
| 申请号: | 202210365856.3 | 申请日: | 2022-04-08 |
| 公开(公告)号: | CN114721668A | 公开(公告)日: | 2022-07-08 |
| 发明(设计)人: | 霍焯亮;魏军 | 申请(专利权)人: | 广州柏视医疗科技有限公司;广州柏视数据科技有限公司 |
| 主分类号: | G06F8/53 | 分类号: | G06F8/53;G06F8/30;G06F21/14 |
| 代理公司: | 北京兴智翔达知识产权代理有限公司 11768 | 代理人: | 郭卫芹 |
| 地址: | 510530 广东省广州市开发区*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 python 代码 反编译 方法 系统 可读 存储 介质 | ||
本发明公开了一种Python代码反编译方法、系统及计算机可读存储介质,所述方法在内存中执行,所述方法包括:将Python代码进行压缩操作以获取第一文件;对所述第一文件执行加密操作以获取第二文件;将所述第二文件保留在所述内存中;其中,所述第一文件、第二文件的格式均为二进制。在以上方法中,通过压缩操作以及加密操作对源码进行了两次伪装,使得源码的文件结构已经被破坏,且由于整体方法只在内存中进行,无法进入硬盘,因此提高了获取源码的难度,最终得到的第二文件无法获得完整的源码信息,保证了源码的安全性。
技术领域
本发明是关于计算机语言领域,特别是关于一种Python代码反编译方法、系统及可读存储介质。
背景技术
Python作为一种全平台的解释性语言,Python文件在经过解释器解释(也称为编译)之后生成可以生成pyc文件,其可以在多个平台下直接运行。Python作为一种脚本语言,在部署过程中获取到pyc文件以后,即等于拿到了源码。在使用uncompyle2等反编译工具进行反编译操作之后,可以轻易的获取原来的Python文件,所缺少的只有一些注释。这对Python开发工作者在发布代码时保护其知识产权以及安全性造成很大的困难。
目前业内对Python代码加密部署的主要思路是将其转换为二进制的可执行文件或者动态链接库文件,将编译过程转变成汇编的过程。汇编是指把目标代码转为汇编代码。此过程是不可逆的,即使第三方获取了汇编代码,也不可能可以反向得到完整的源代码。目前常用的方法有以下两种:
第一种是将Python代码使用pyinstaller等工具编译生成平台的二进制运行文件或可执行程序。但是这种方法可以通过使用pyinstxtractor这个工具,就能把编译出来的可执行程序还原回去对应的pyc文件;之后,再对还原出来的pyc文件进行反编译就会还原对应的源代码。整体方案的安全性不足。
第二种是使用Cython工具将Python代码文件编译为C文件,然后再将C文件编译为操作系统的动态链接库文件。这个方法有两个缺点,其一是使用这种方式加密后的文件,具体运行时需要使用生成时的Python环境,增加了部署的复杂性。其二使用这种方法需要将Python代码所引用的其他依赖库一同进行编译,虽然安全性会有所保障,到哪可执行文件的硬盘空间会较大,执行效率会降低。
公开于该背景技术部分的信息仅仅旨在增加对本发明的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域一般技术人员所公知的现有技术。
发明内容
本发明的目的在于提供一种Python代码反编译方法、系统及可读存储介质,其能够令源代码文件在部署和运作过程中不会以原有的文件结构逻辑存在,整个过程没有其对应完整的源码信息,也无法从中找到python的源码内容,从而实现了多python源代码的保护的目的。
为实现上述目的,本发明提供了一种Python代码反编译方法,所述方法在内存中执行,所述方法包括:
将Python代码进行压缩操作以获取第一文件;
对所述第一文件执行加密操作以获取第二文件;
将所述第二文件保留在所述内存中;其中,所述第一文件、第二文件的格式均为二进制。
较佳的,所述方法还包括:
读取所述第二文件并对所述第二文件进行解码操作以获得所述第一文件;所述加密操作与所述解码操作互为逆运算;
将所述第一文件导入至源码文件模块以实现第一文件的调用。
较佳的,所述将所述第一文件导入至源码文件模块后,所述方法包括:
将所述第一文件编译为动态链接库文件。
较佳的,所述第一文件为ZIP文件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州柏视医疗科技有限公司;广州柏视数据科技有限公司,未经广州柏视医疗科技有限公司;广州柏视数据科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210365856.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种封记及封记管理系统
- 下一篇:用于高原的网络通信系统及方法





