软件生成方法、软件运行方法、电子设备和存储介质技术

技术编号:35937893 阅读:10 留言:0更新日期:2022-12-14 10:25
本发明专利技术提供了一种软件生成方法、软件运行方法、电子设备和存储介质,涉及计算机技术领域。其中,软件生成方法,包括:获取软件源码,获取用户信息,并生成密钥;将所述软件源码、所述用户信息、以及所述密钥输入软件编译器;获取所述软件编译器输出的目标字节码;根据所述密钥对所述目标字节码进行加密处理,生成目标软件。与现有技术相比,本发明专利技术实施例所提供的软件生成方法、软件运行方法、电子设备和存储介质具有减少现有技术中存在的软件被非授权人员随意使用的技术问题的优点。员随意使用的技术问题的优点。员随意使用的技术问题的优点。

【技术实现步骤摘要】
软件生成方法、软件运行方法、电子设备和存储介质


[0001]本申请涉及计算机领域,尤其是涉及一种软件生成方法、软件运行方法、电子设备和存储介质。

技术介绍

[0002]随着科学技术的发展,软件的应用也越来越广。对于软件而言,为了避免软件在未经许可的情况下被非授权人员使用,因而进行软件授权是十分必要的。现有的软件通常通过许可证License授权,生成License时,将CPU序列号、硬盘序列号、主板序列号等参数经过一系列的加密处理,生成最终的License。
[0003]然而,本申请的专利技术人发现,现有技术中生成的License通过反编译、逻辑推测方式可以破解,替换License即可以无限制使用,造成软件被非授权人员随意使用。

技术实现思路

[0004]本专利技术的目的在于提供一种软件生成方法、软件运行方法、电子设备和存储介质,可以减少现有技术中存在的软件被非授权人员随意使用的技术问题。
[0005]第一方面,本专利技术提供一种软件生成方法,包括:获取软件源码,获取用户信息,并生成密钥;将所述软件源码、所述用户信息、以及所述密钥输入软件编译器;获取所述软件编译器输出的目标字节码;根据所述密钥对所述目标字节码进行加密处理,生成目标软件。
[0006]第二方面,本专利技术提供一种软件运行方法,包括:对目标软件进行解密,获取所述目标软件的应用字节码;判断所述应用字节码中所包含的用户信息与所述目标软件对应的用户信息是否相同;若所述应用字节码中所包含的用户信息与所述目标软件对应的用户信息相同,读取所述应用字节码中的软件源码以运行所述目标软件。
[0007]第三方面,本专利技术提供一种电子设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如前述的软件生成方法、或者以使所述至少一个处理器能够执行如前述的软件运行方法。
[0008]第四方面,本专利技术提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行实现前述的软件生成方法、或者计算机程序被处理器执行实现前述的软件运行方法。
[0009]本专利技术提供的软件生成方法、软件运行方法、电子设备和存储介质中,在生成目标软件的过程中,将获取的用户信息和软件源码一同输入软件编译器,软件编译器输出的目标字节码中即包含有用户信息,根据目标字节码生成的目标软件中同样包含有用户信息,在后续运行目标软件的过程中,可以根据目标软件的应用字节码中所包含的用户信息对运行环境进行确认,只有被授权使用、具有目标软件所对应的用户信息的软件运行环境下,才可以运行目标软件,从而减少现有技术中存在的软件被非授权人员随意使用的技术问题。
[0010]在一些实施例中,所述生成密钥,包括:根据所述用户信息生成所述密钥。使用用
户信息生成密钥,可以提升密钥的保密性能,进而提升目标软件的安全性能。
[0011]在一些实施例中,所述对所述目标字节码进行加密处理,包括:使用所述公钥对所述目标字节码进行加密处理。
[0012]在一些实施例中,所述密钥为RSA密钥对。由于RSA密钥对的安全性能较高,本实施例中生成RSA密钥对作为密钥可以有效的提升目标软件的安全性;此外,由于RSA加密算法的应用范围较广,使用RSA密钥对作为密钥可以使得目标软件可以更好的与其它软硬件配合使用,提升目标软件的适用范围。
[0013]在一些实施例中,所述读取所述应用字节码中的软件源码以运行所述目标软件前,所述方法还包括:将所述应用字节码写入内存储器中。将应用字节码写入内存储器中,由于内存储器中的数据安全性较高,减少了被反编译和逻辑破解的可能,保护软件源码的安全,保护了软件的安全性。
[0014]在一些实施例中,所述读取所述应用字节码中的软件源码以运行所述目标软件后,所述方法还包括:关闭所述目标软件时,删除所述内存储器中的所述应用字节码。在关闭目标软件时删除内存储器中的应用字节码,可以避免应用关闭后可能存在的应用字节码泄露的风险,进一步的保护软件源码的安全,保护了软件的安全性。
[0015]在一些实施例中,所述方法,还包括:将运行所述目标软件所产生的中间数据存储在所述内存储器中。将运行所述目标软件所产生的中间数据存储在所述内存储器中,实现目标软件的整个运行过程均运行在内存储器中,降低了软件运行过程中产生的中间数据泄露的风险,进一步的减少了目标软件被反编译和逻辑破解的可能。
附图说明
[0016]为了更清楚地说明本专利技术具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0017]图1为本专利技术实施例提供的软件生成方法的流程示意图;
[0018]图2为本专利技术实施例提供的软件运行方法的流程示意图;
[0019]图3为本专利技术实施例提供的另一种软件运行方法的流程示意图;
[0020]图4为本专利技术实施例提供的又一种软件运行方法的流程示意图;
[0021]图5为本专利技术实施例提供的电子设备的结构示意图。
具体实施方式
[0022]为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本专利技术实施例的组件可以以各种不同的配置来布置和设计。
[0023]因此,以下对在附图中提供的本专利技术的实施例的详细描述并非旨在限制要求保护的本专利技术的范围,而是仅仅表示本专利技术的选定实施例。
[0024]应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一
个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
[0025]在本专利技术的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该专利技术产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本专利技术和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本专利技术的限制。此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0026]在本专利技术的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种软件生成方法,其特征在于,包括:获取软件源码,获取用户信息,并生成密钥;将所述软件源码、所述用户信息、以及所述密钥输入软件编译器;获取所述软件编译器输出的目标字节码;根据所述密钥对所述目标字节码进行加密处理,生成目标软件。2.根据权利要求1所述的软件生成方法,其特征在于,所述生成密钥,包括:根据所述用户信息生成所述密钥。3.根据权利要求2所述的软件生成方法,其特征在于,所述对所述目标字节码进行加密处理,包括:使用所述公钥对所述目标字节码进行加密处理。4.根据权利要求2所述的软件生成方法,其特征在于,所述密钥为RSA密钥对。5.一种软件运行方法,其特征在于,包括:对目标软件进行解密,获取所述目标软件的应用字节码;判断所述应用字节码中所包含的用户信息与所述目标软件对应的用户信息是否相同;若所述应用字节码中所包含的用户信息与所述目标软件对应的用户信息相同,读取所述应用字节码中的软件源码以运行所述目标软件。6.根据权利要求5所述的软件运行方法,其特征在于,所述读取所述应用字节码中的软件源码以运行所述目标软...

【专利技术属性】
技术研发人员:郭玮管宏伟孙海瑞陈广帅高旭程浩
申请(专利权)人:贵州新致普惠信息技术有限公司
类型:发明
国别省市:

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

1