代码保护方法、装置、电子设备及可读存储介质制造方法及图纸

技术编号:28871963 阅读:58 留言:0更新日期:2021-06-15 23:04
本发明专利技术涉及数据处理,揭露一种代码保护方法,包括:根据代码保护请求携带的存储地址生成代码文件选择界面;接收用户基于代码文件选择界面选择的需要保护的代码文件,判断需要保护的代码文件是否可加密;将存储地址对应的存储空间中判断为可加密的代码文件存储至第一文件夹,将存储地址对应的存储空间中剩余的代码文件存储至第二文件夹;将第一文件夹中每个代码文件中的代码转换为静态类型的代码,将转换后的代码文件编译为第一类型的文件,将第二文件夹中每个代码文件编译为第二类型的文件,汇总第一类型及第二类型的文件,得到目标文件。本发明专利技术还提供一种代码保护装置、电子设备及可读存储介质。本发明专利技术全面提高了代码安全性。

【技术实现步骤摘要】
代码保护方法、装置、电子设备及可读存储介质
本专利技术涉及数据处理领域,尤其涉及一种代码保护方法、装置、电子设备及可读存储介质。
技术介绍
随着科技的发展,代码已融入人们的生活中,例如,利用Python代码开发游戏、控制机器人、执行云计算等。Python属于解释性语言,其代码文件类似于文本文件,可使用文本编辑器打开其代码文件查看源代码,从而导致Python代码被泄露。为了提高Python代码的安全性,通常采用以下两种代码保护方案:1、采用加密工具对Python代码文件进行加密处理;2、使用打包工具将Python代码文件打包成exe可执行文件。对于方案1,现有的Python加密工具通常可破解,或仅能对部分文件加密;对于方案2,通过阅读打包工具源码了解打包的过程,再按照相反的流程即可解包。因此,亟需一种代码保护方法,以全面提高代码安全性。
技术实现思路
鉴于以上内容,有必要提供一种代码保护方法,旨在全面提高代码安全性。本专利技术提供的代码保护方法,应用于电子设备,该方法包括:解析用户基于客户端发出的代码保护请求,获取所述请求携带的代码文件的存储地址,获取所述存储地址对应的存储空间中存储的所有代码文件的名称,基于所述名称生成代码文件选择界面;将所述代码文件选择界面展示到所述客户端界面,接收用户基于所述代码文件选择界面选择的需要保护的代码文件,判断所述需要保护的代码文件是否可加密;将所述存储地址对应的存储空间中判断为可加密的代码文件存储至第一文件夹,将所述存储地址对应的存储空间中剩余的代码文件存储至第二文件夹;将所述第一文件夹中每个代码文件中的代码转换为静态类型的代码,将转换后的代码文件编译为第一类型的文件,将所述第二文件夹中每个代码文件编译为第二类型的文件,汇总所述第一类型及第二类型的文件,得到目标文件。可选的,所述判断所述需要保护的代码文件是否可加密包括:从预设数据库中获取加密判断规则,判断所述需要保护的代码文件中的代码是否符合所述加密判断规则;当判断某一指定代码文件中的代码符合所述加密判断规则时,认为所述指定代码文件可加密。可选的,在判断所述需要保护的代码文件中的代码是否符合所述加密判断规则之后,所述方法还包括:若判断某一指定代码文件中的代码不符合所述加密判断规则,则生成错误信息,将所述错误信息及所述指定代码文件发送到所述客户端;接收所述客户端反馈的修正后的指定代码文件,判断所述修正后的指定代码文件是否符合所述加密判断规则。可选的,所述将所述第一文件夹中每个代码文件中的代码转换为静态类型的代码,将转换后的代码文件编译为第一类型的文件包括:将动态类型的代码转换为静态类型的代码的操作及将代码文件编译为第一类型的文件的操作封装为一个操作包;获取所述电子设备的资源利用信息,基于预先确定的资源利用率与进程数量的映射关系及所述资源利用信息确定所述电子设备对应的目标进程数量;采用所述目标进程数量的进程并行对所述第一文件夹中的代码文件执行所述操作包,得到第一类型的文件。可选的,所述采用所述目标进程数量的进程并行对所述第一文件夹中的代码文件执行所述操作包包括:按照文件大小对所述第一文件夹中的代码文件排序;采用所述目标进程数量的进程并行对排序后的代码文件执行所述操作包。可选的,在将所述第一文件夹中每个代码文件中的代码转换为静态类型的代码之前,所述方法还包括:对所述第一文件夹及第二文件夹中的每个代码文件执行语法正确性校验,当语法正确性校验通过时,执行所述将所述第一文件夹中每个代码文件中的代码转换为静态类型的代码,将转换后的代码文件编译为第一类型的文件的步骤。为了解决上述问题,本专利技术还提供一种代码保护装置,所述装置包括:解析模块,用于解析用户基于客户端发出的代码保护请求,获取所述请求携带的代码文件的存储地址,获取所述存储地址对应的存储空间中存储的所有代码文件的名称,基于所述名称生成代码文件选择界面;判断模块,用于将所述代码文件选择界面展示到所述客户端界面,接收用户基于所述代码文件选择界面选择的需要保护的代码文件,判断所述需要保护的代码文件是否可加密;存储模块,用于将所述存储地址对应的存储空间中判断为可加密的代码文件存储至第一文件夹,将所述存储地址对应的存储空间中剩余的代码文件存储至第二文件夹;编译模块,用于将所述第一文件夹中每个代码文件中的代码转换为静态类型的代码,将转换后的代码文件编译为第一类型的文件,将所述第二文件夹中每个代码文件编译为第二类型的文件,汇总所述第一类型及第二类型的文件,得到目标文件。可选的,所述判断所述需要保护的代码文件是否可加密包括:从预设数据库中获取加密判断规则,判断所述需要保护的代码文件中的代码是否符合所述加密判断规则;当判断某一指定代码文件中的代码符合所述加密判断规则时,认为所述指定代码文件可加密。为了解决上述问题,本专利技术还提供一种电子设备,所述电子设备包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的代码保护程序,所述代码保护程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述代码保护方法。为了解决上述问题,本专利技术还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有代码保护程序,所述代码保护程序可被一个或者多个处理器执行,以实现上述代码保护方法。相较现有技术,本专利技术首先根据代码保护请求中携带的代码文件的存储地址生成代码文件选择界面,接收用户基于代码文件选择界面选择的需要保护的代码文件,判断需要保护的代码文件是否可加密,本步骤可避免不可加密的代码文件加密后无法正常运行的情况发生;接着,将存储地址对应的存储空间中判断为可加密的代码文件存储至第一文件夹,将存储地址对应的存储空间中剩余的代码文件存储至第二文件夹,本步骤对不同类型的代码文件进行了分离处理;最后,将第一文件夹中每个代码文件中的代码转换为静态类型的代码,将转换后的代码文件编译为第一类型的文件,将第二文件夹中每个代码文件编译为第二类型的文件,汇总第一类型及第二类型的文件,得到目标文件。其中,第一类型的文件不可破解,第二类型的文件较难破解,且第一类型和第二类型的文件都可直接被执行,本专利技术实现了所有代码文件皆可被多方使用而不泄露源码内容。因此,本专利技术全面提高了代码文件的安全性。附图说明图1为本专利技术一实施例提供的代码保护方法的流程示意图;图2为本专利技术一实施例提供的代码保护装置的模块示意图;图3为本专利技术一实施例提供的实现代码保护方法的电子设备的结构示意图;本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理本文档来自技高网...

【技术保护点】
1.一种代码保护方法,应用于电子设备,其特征在于,所述方法包括:/n解析用户基于客户端发出的代码保护请求,获取所述请求携带的代码文件的存储地址,获取所述存储地址对应的存储空间中存储的所有代码文件的名称,基于所述名称生成代码文件选择界面;/n将所述代码文件选择界面展示到所述客户端界面,接收用户基于所述代码文件选择界面选择的需要保护的代码文件,判断所述需要保护的代码文件是否可加密;/n将所述存储地址对应的存储空间中判断为可加密的代码文件存储至第一文件夹,将所述存储地址对应的存储空间中剩余的代码文件存储至第二文件夹;/n将所述第一文件夹中每个代码文件中的代码转换为静态类型的代码,将转换后的代码文件编译为第一类型的文件,将所述第二文件夹中每个代码文件编译为第二类型的文件,汇总所述第一类型及第二类型的文件,得到目标文件。/n

【技术特征摘要】
1.一种代码保护方法,应用于电子设备,其特征在于,所述方法包括:
解析用户基于客户端发出的代码保护请求,获取所述请求携带的代码文件的存储地址,获取所述存储地址对应的存储空间中存储的所有代码文件的名称,基于所述名称生成代码文件选择界面;
将所述代码文件选择界面展示到所述客户端界面,接收用户基于所述代码文件选择界面选择的需要保护的代码文件,判断所述需要保护的代码文件是否可加密;
将所述存储地址对应的存储空间中判断为可加密的代码文件存储至第一文件夹,将所述存储地址对应的存储空间中剩余的代码文件存储至第二文件夹;
将所述第一文件夹中每个代码文件中的代码转换为静态类型的代码,将转换后的代码文件编译为第一类型的文件,将所述第二文件夹中每个代码文件编译为第二类型的文件,汇总所述第一类型及第二类型的文件,得到目标文件。


2.如权利要求1所述的代码保护方法,其特征在于,所述判断所述需要保护的代码文件是否可加密包括:
从预设数据库中获取加密判断规则,判断所述需要保护的代码文件中的代码是否符合所述加密判断规则;
当判断某一指定代码文件中的代码符合所述加密判断规则时,认为所述指定代码文件可加密。


3.如权利要求2所述的代码保护方法,其特征在于,在判断所述需要保护的代码文件中的代码是否符合所述加密判断规则之后,所述方法还包括:
若判断某一指定代码文件中的代码不符合所述加密判断规则,则生成错误信息,将所述错误信息及所述指定代码文件发送到所述客户端;
接收所述客户端反馈的修正后的指定代码文件,判断所述修正后的指定代码文件是否符合所述加密判断规则。


4.如权利要求1所述的代码保护方法,其特征在于,所述将所述第一文件夹中每个代码文件中的代码转换为静态类型的代码,将转换后的代码文件编译为第一类型的文件包括:
将动态类型的代码转换为静态类型的代码的操作及将代码文件编译为第一类型的文件的操作封装为一个操作包;
获取所述电子设备的资源利用信息,基于预先确定的资源利用率与进程数量的映射关系及所述资源利用信息确定所述电子设备对应的目标进程数量;
采用所述目标进程数量的进程并行对所述第一文件夹中的代码文件执行所述操作包,得到第一类型的文件。


5.如权利要求4所述的代码保护方法,其特征在于,所述采用所述目标进程数量的进程并行对所述第一文件夹中的代码文件执行所述操作包包括:
按照文件大...

【专利技术属性】
技术研发人员:郑鹏梁建顺
申请(专利权)人:天冕信息技术深圳有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1