一种软件生成方法和装置制造方法及图纸

技术编号:19425823 阅读:19 留言:0更新日期:2018-11-14 10:43
本发明专利技术公开了一种软件生成方法和装置,所述方法,包括:对预先产生的序列号进行散列处理得到加扰信息;根据所述加扰信息,对源代码文件中的部分代码进行加扰获得加扰后的代码;并利用所述加扰信息和所述加扰后的代码,更新所述源代码文件;对更新后的源代码文件进行编译,生成待发布软件。采用本发明专利技术提供的方法,保证了生成的软件的唯一性,尤其在生产批量软件时,通过对各个待生成软件的序列号进行加扰处理,使得生成的各个软件互不相同,从而避免了批量软件发布后某一软件序列号被泄露后,威胁到其他软件的安全性的情况发生,操作方便,同时也提高了待发布软件的安全性。

【技术实现步骤摘要】
一种软件生成方法和装置
本专利技术涉及计算机
,尤其涉及一种软件生成方法和装置。
技术介绍
目前,软件开发的模式是通过IDE或编辑软件进行源代码开发,然后通过编译工具进行编译后生成本地代码,最后在目标机器上运行。商业软件通过一次编译,无论复制多少次,都可以在目标机器上运行,这是当前软件行业的通用模式,但该通用模式存在极大的安全隐患。为了防止盗版,在生成软件的过程中会设置一定的验证功能。比如在安装过程中通过验证序列号,来防止软件的非法使用,或者在软件运行后要求输入验证码来验证软件的合法性。上述验证方法虽然通过安装或运行过程中的验证码能够在一定程度上防止盗版,但是一旦验证码被流传出去,整个软件的非法复制将不可避免。归结原因在于,软件生产只经过一次编译,然后通过复制进行分发,导致所有分发的软件都是同样的代码。而代码内部通过同样的逻辑来校验验证码的正确性,因此,一旦验证码泄露,软件内部的验证程序将达不到应有的防盗效果。综上所述,如何既能提高批量软件自身的防盗功能,又能在某一软件被盗用时不影响其他软件的安全性是亟待解决的技术问题之一。
技术实现思路
本专利技术实施例提供一种软件生成方法和装置,用以解决现有技术生产的批量软件发布后,因序列号丢失所造成的所有软件存在安全隐患问题。本专利技术实施例提供一种软件生成方法,包括:对预先产生的序列号进行散列处理得到加扰信息;根据所述加扰信息,对源代码文件中的部分代码进行加扰获得加扰后的代码;并利用所述加扰信息和所述加扰后的代码,更新所述源代码文件;对更新后的源代码文件进行编译,生成待发布软件。本专利技术实施例提供一种软件生成装置,包括:处理单元,用于对预先产生的序列号进行散列处理得到加扰信息;加扰单元,用于根据所述加扰信息,对源代码文件中的部分代码进行加扰,获得加扰后的代码;更新单元,用于利用所述加扰信息和所述加扰后的代码,更新所述源代码文件;生成单元,用于对更新后的源代码文件进行编译,生成待发布软件。本专利技术有益效果:本专利技术实施例提供的软件生成方法和装置,在对预先产生的序列号进行散列处理得到加扰信息后,根据所述加扰信息,对源代码文件中的部分代码进行加扰获得加扰后的代码;并利用所述加扰信息和所述加扰后的代码,更新所述源代码文件;然后对更新后的源代码文件进行编译处理,由此保证了编译后生成的待发布软件的唯一性,提高了待发布软件的安全性;此外,当生产批量软件时,采用本专利技术提供的方法,保证了生成的各待发布软件互不相同,不仅提高了生成的批量软件的安全性,还避免了因某一软件序列号泄露威胁到批量软件中其他软件的安全问题的发生。本专利技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本专利技术而了解。本专利技术的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。附图说明此处所说明的附图用来提供对本专利技术的进一步理解,构成本专利技术的一部分,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中:图1a为本专利技术实施例一提供的软件生成方法的流程示意图;图1b为本专利技术实施例一中获得加扰后的代码的方法流程示意图;图1c为本专利技术实施例一中散列存储方式的示意图;图1d为本专利技术实施例一中生成待发布软件的流程示意图;图2为本专利技术实施例应用于批量软件生产的流程示意图;图3为本专利技术实施例二提供的软件生成装置的结构示意图。具体实施方式本专利技术实施例提供的软件生成方法和装置,在对预先产生的序列号进行散列处理得到加扰信息后,根据所述加扰信息,对源代码文件中的部分代码进行加扰获得加扰后的代码;并利用所述加扰信息和所述加扰后的代码,更新所述源代码文件,然后对更新后的源代码文件进行编译处理,由此保证了编译后生成的待发布软件的唯一性,提高了待发布软件的安全性;此外,当生产批量软件时,采用本专利技术提供的方法,保证了生成的各待发布软件互不相同,不仅提高了生成的批量软件的安全性,还避免了因某一软件序列号泄露威胁到批量软件中其他软件的安全问题的发生。需要说明的是,本专利技术实施例提供的软件生成方法可以由设备中各个模块执行,各个模块之间进行交互。以下结合说明书附图对本专利技术的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本专利技术,并不用于限定本专利技术,并且在不冲突的情况下,本专利技术中的实施例及实施例中的特征可以相互组合。实施例一如图1a所示,为本专利技术实施例一提供的软件生成方法的流程示意图,可以包括以下步骤:S11、对预先产生的序列号进行散列处理得到加扰信息。具体实施时,所述序列号可以为用户预先输入的;或者当进行批量软件生产时,用户预先输入预设生产数量、起始序列号和结束序列号,由此,可以获得本次生成待发布软件所需的序列号,例如,预设生产数量为50,起始序列号为000001,结束序列号为000050,当前正在生产第20个待发布软件,则第20个待发布软件的序列号为000020。在获得所述序列号后,即可对所述序列号进行散列处理得到加扰信息。较佳地,可以利用哈希函数对预先产生的序列号进行散列处理得到加扰信息。S12、根据所述加扰信息,对源代码文件中的部分代码进行加扰获得加扰后的代码。具体实施时,可以将所述序列号和所述加扰信息按照预设顺序写入待生成软件的源代码文件中,如先写入序列号,再写入加扰信息;或者先写入加扰信息再写入序列号,本专利技术实施例对此顺序不进行限定。较佳地,所述加扰信息可以但不限于包括以下至少一种:密钥信息、随机数、源代码ID(Identity,源代码身份标识号码)和完整性密钥信息。其中,所述完整性密钥信息用于确定源代码文件的完整性。具体实施时,可以利用加扰信息,对所述源代码文件中的部分代码进行加密处理和分散存储。所述部分代码为源代码文件中的敏感数据。较佳地,所述加扰信息包括密钥信息;以及在执行步骤S12时,可以按照图1b所示的方法执行,包括以下步骤:S121、根据所述密钥信息,对所述源代码文件中的部分代码进行加密处理,得到加密后的代码。具体实施时,所述加扰信息中的密钥信息可以利用密码散列函数SHA-1()函数生成,由此保证了密钥信息的复杂度。然后再利用密钥信息处理部分代码。S122、按照第一预设方式将所述加密后的代码按字节放置到预设数组中,并按照第二预设方式从所述预设数组中提取每一字节,获得加扰后的代码。具体实施时,所述第一预设方式可以但不限于为按行方式;所述第二预设方式可以但不限于为按列方式;以及所述预设素组可以为二维数组。具体地,在利用密钥信息对部分代码处理后,为了进一步提高待生成软件的安全性,还需按行方式将所述加密后的代码按字节放置到二维数组中,然后再按列的方式从二维数组中提取每一字节,待所有字节提取完成后得到加扰后的代码。S13、利用所述加扰信息和所述加扰后的代码,更新所述待生成软件的源代码文件。具体实施时,可以将所述序列号、加扰信息和所述加扰后的代码按照预设顺序写入到源代码文件中,例如,按照先写入序列号,其次写入加扰信息,最后写入加扰后的代码的顺序更新源代码程序,当然也可以采用其他顺序,本专利技术实施例对此不进行限定。进一步地,由于本专利技术实施例中执行编译过程时需要调用第三方开发工具,由第三方开发工具对更新后的源代码文件进行编译。如果当本文档来自技高网...

【技术保护点】
1.一种软件生成方法,其特征在于,包括:对预先产生的序列号进行散列处理得到加扰信息;根据所述加扰信息,对源代码文件中的部分代码进行加扰获得加扰后的代码;并利用所述加扰信息和所述加扰后的代码,更新所述源代码文件;对更新后的源代码文件进行编译,生成待发布软件。

【技术特征摘要】
1.一种软件生成方法,其特征在于,包括:对预先产生的序列号进行散列处理得到加扰信息;根据所述加扰信息,对源代码文件中的部分代码进行加扰获得加扰后的代码;并利用所述加扰信息和所述加扰后的代码,更新所述源代码文件;对更新后的源代码文件进行编译,生成待发布软件。2.如权利要求1所述的方法,其特征在于,对预先产生的序列号进行散列处理得到加扰信息,具体包括:利用哈希函数对预先产生的序列号进行散列处理得到加扰信息。3.如权利要求2所述的方法,其特征在于,所述加扰信息包括密钥信息;以及根据所述加扰信息,对源代码文件中的部分代码进行加扰获得加扰后的代码,具体包括:根据所述密钥信息,对所述源代码文件中的部分代码进行加密处理,得到加密后的代码;按照第一预设方式将所述加密后的代码按字节放置到预设数组中,并按照第二预设方式从所述预设数组中提取每一字节,获得加扰后的代码。4.如权利要求1所述的方法,其特征在于,对更新后的源代码文件进行编译,生成待发布软件,具体包括:对更新后的源代码文件进行编译,获得可执行程序文件;从所述可执行程序文件中提取部分程序代码,并利用所述序列号,对所述部分程序代码进行加扰;以及利用加扰的部分程序代码更新所述可执行程序文件;根据更新后的可执行程序文件,生成待发布软件。5.如权利要求4所述的方法,其特征在于,利用所述序列号,对所述部分程序代码进行加扰,具体包括:利用所述序列号,对所述部分程序代码按字节异或进行加扰。6.一种软件生成装置,其特征在于,包括:处理单元,用于对预先产生的序列号...

【专利技术属性】
技术研发人员:涂晓强
申请(专利权)人:中移杭州信息技术有限公司中国移动通信集团公司
类型:发明
国别省市:浙江,33

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

1