可执行文件的生成方法、执行方法及电子设备技术

技术编号:18668471 阅读:29 留言:0更新日期:2018-08-14 20:41
本发明专利技术公开了一种可执行文件的生成方法、运行方法及电子设备。该生成方法包括:编译已获取的目标源码,得到对应的编译文件;获取实施目标解密算法的解密模块,将解密模块与编译文件合并编译,得到中间可执行文件;基于与目标解密算法对应的目标加密算法,加密中间可执行文件中与编译文件对应的至少部分内容,生成对应的目标可执行文件。根据本发明专利技术,可以独立于目标源码的开发过程对目标源码进行加密保护,在保证代码安全的前提下降低开发复杂度,同时,可执行文件解密过程对于用户不可见,降低用户的应用成本,避免被破解的安全风险。

Executable file generation method, execution method and electronic device

The invention discloses an executable file generation method, a running method and an electronic device. The generating method includes: compiling the acquired target source code to get the corresponding compiled file; acquiring the decryption module which implements the target decryption algorithm; merging the decryption module with the compiled file to get the intermediate executable file; encrypting the intermediate executable file based on the target encryption algorithm corresponding to the target decryption algorithm. The corresponding target executable file is generated by at least part of the content corresponding to the compiled file. According to the invention, the target source code can be encrypted and protected independently of the development process of the target source code, which reduces the development complexity on the premise of ensuring the code security. At the same time, the decryption process of the executable file is invisible to the user, reduces the application cost of the user and avoids the security risk of being cracked.

【技术实现步骤摘要】
可执行文件的生成方法、执行方法及电子设备
本专利技术涉及计算机
,更具体地,涉及一种可执行文件的生成方法、执行方法及电子设备。
技术介绍
基于计算机语言开发的应用程序通常以可执行文件的形式,运行于对应的操作系统中,提供给用户对应的应用服务。随着互联网的普及,应用程序的传播范围愈加广泛,如何保证应用程序在传播过程中的安全,使得应用程序不易被篡改、破解,是广大应用程序的提供者关心的问题,目前对于应用程序的安全保护,通常是对应用程序的源码进行加密处理,这需要在源码开发过程中进行,增加开发复杂度,同时,用户在运行应用程序的可执行文件时,必须获取对应的解密算法,才能保证应用程序的持续运行,提高用户的应用成本,影响用户体验,同时,解密算法容易对用户可见,存在被破解的安全风险。
技术实现思路
本专利技术的一个目的是提供一种用于生成可执行文件的新技术方案。根据本专利技术的第一方面,提供了一种可执行文件的生成方法,其中,包括:编译已获取的目标源码,得到对应的编译文件;获取实施目标解密算法的解密模块,将所述解密模块与所述编译文件合并编译,得到中间可执行文件;基于与所述目标解密算法对应的目标加密算法,加密所述中间可执行文件中与所述编译文件对应的至少部分内容,生成对应的目标可执行文件。可选地,所述目标源码包括第一目标源码和第二目标源码;所述第一目标源码对应第一处理器;所述第二目标源码对应第二处理器;所述编译文件中包括编译所述第一目标源码得到的第一编译文件,以及编译所述第二目标源码得到的第二编译文件;所述加密所述中间可执行文件中与所述编译文件对应的至少部分内容的步骤包括:加密所述中间可执行文件中与所述第二编译文件对应的至少部分内容。可选地,该方法还包括:从目标源码分离所述第一目标源码以及所述第二目标源码的步骤。可选地,所述第一目标源码通过第一编码语言开发,所述第二目标源码通过第二编码语言开发;所述编译目标源码的步骤包括:以符合所述第一编码语言支持的编译方式,编译所述第一目标源码得到对应的第一编译文件;以符合所述第二编码语言支持的编译方式,编译所述第二目标源码得到对应的中间编译文件;对所述中间编译文件进行转换,得到中间转换文件;将中间转换文件与中间编译文件合并,得到符合所述第一编码语言支持的文件格式的中间合并文件;对所述中间合并文件以所述第一编码语言支持的编译方式进行编译,得到所述第二编译文件。可选地,所述第一编码语言是C语言;所述第一编译文件是.o文件;所述中间编译文件是.ptx文件;所述中间转换文件是.cubin文件;所述中间合并文件是.c文件;所述第二编译文件是.o文件。可选地,所述第一处理器是CPU,所述第二处理器是GPU。可选地,所述方法还包括:提供算法配置界面,展示可供选择的解密算法的标识信息,以供用户操作选择对应的目标解密算法。根据本专利技术第二方面,提供一种电子设备,用于生成可执行文件,其中,包括:存储器,用于存储可执行的指令;处理器,用于根据所述可执行的指令的控制,运行所述电子设备执行如本专利技术第一方面的可执行文件的生成方法。本专利技术的另一个目的是提供一种用于运行可执行文件的新技术方案。根据本专利技术第三方面,提供一种可执行文件的运行方法,其中,包括:获取目标可执行文件,其中,所述目标可执行文件根据如本专利技术第一方面所述的任意一项方法生成;运行所述目标可执行文件中的解密模块,通过所述解密模块实施对应的目标解密算法,解密所述目标可执行文件中包含的、基于与目标解密算法对应的目标加密算法被加密的部分内容,以获取解密后的所述目标可执行文件并运行。根据本专利技术第四方面,提供一种电子设备,用于运行可执行文件,其中,包括:存储器,用于存储可执行的指令;处理器,用于根据所述可执行的指令的控制,运行所述电子设备执行如本专利技术第一方面的可执行文件的运行方法。根据本公开的一个实施例,在对已获取的目标源码的编译过程中,加入解密模块进行合并编译,并加密与目标源码对应的至少部分编译后的内容,生成对应的目标可执行文件,使得可以独立于目标源码的开发过程对目标源码进行加密保护,在保证代码安全的前提下降低开发复杂度。同时使得目标可执行文件的解密过程对获取可执行文件的用户完全不可见,避免被破解的安全风险,同时无需用户自行获取解密算法,降低用户的应用成本,提高用户体验。通过以下参照附图对本专利技术的示例性实施例的详细描述,本专利技术的其它特征及其优点将会变得清楚。附图说明被结合在说明书中并构成说明书的一部分的附图示出了本专利技术的实施例,并且连同其说明一起用于解释本专利技术的原理。图1是显示可用于实现本专利技术的实施例的电子设备的硬件配置的例子的框图。图2示出了本专利技术第一实施例的可执行文件的生成方法的流程图。图3示出了本专利技术第一实施例的编译目标源码步骤的流程图。图4示出了本专利技术第一实施例的电子设备的框图。图5示出了本专利技术第二实施例的可执行文件的运行方法的流程图。图6示出了本专利技术第二实施例的电子设备的框图。具体实施方式现在将参照附图来详细描述本专利技术的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本专利技术的范围。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本专利技术及其应用或使用的任何限制。对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。<硬件配置>图1是示出可以实现本专利技术的实施例的电子设备1000的硬件配置的框图。电子设备1000可以是便携式电脑、台式计算机、手机、平板电脑等。如图1所示,电子设备1000可以包括处理器1100、存储器1200、接口装置1300、通信装置1400、显示装置1500、输入装置1600、扬声器1700、麦克风1800等等。其中,处理器1100可以是中央处理器CPU、微处理器MCU等。存储器1200例如包括ROM(只读存储器)、RAM(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置1300例如包括USB接口、耳机接口等。通信装置1400例如能够进行有线或无线通信,具体地可以包括Wifi通信、蓝牙通信、2G/3G/4G/5G通信等。显示装置1500例如是液晶显示屏、触摸显示屏等。输入装置1600例如可以包括触摸屏、键盘、体感输入等。用户可以通过扬声器1700和麦克风1800输入/输出语音信息。图1所示的电子设备仅仅是说明性的并且决不意味着对本专利技术、其应用或使用的任何限制。应用于本专利技术的实施例中,电子设备1000的所述存储器1200用于存储指令,所述指令用于控制所述处理器1100进行操作以执行本专利技术实施例提供的任意一项可执行文件的生成方法或执行方法。本领域技术人员应当理解,尽管在图1中对电子设备1000示出了多个装置,但是,本专利技术可以仅涉及其中的部分装置,例如,电子设备1000只涉及处理器1100和存储装置1200。技本文档来自技高网...

【技术保护点】
1.一种可执行文件的生成方法,其中,包括:编译已获取的目标源码,得到对应的编译文件;获取实施目标解密算法的解密模块,将所述解密模块与所述编译文件合并编译,得到中间可执行文件;基于与所述目标解密算法对应的目标加密算法,加密所述中间可执行文件中与所述编译文件对应的至少部分内容,生成对应的目标可执行文件。

【技术特征摘要】
1.一种可执行文件的生成方法,其中,包括:编译已获取的目标源码,得到对应的编译文件;获取实施目标解密算法的解密模块,将所述解密模块与所述编译文件合并编译,得到中间可执行文件;基于与所述目标解密算法对应的目标加密算法,加密所述中间可执行文件中与所述编译文件对应的至少部分内容,生成对应的目标可执行文件。2.根据权利要求1所述的方法,其中,所述目标源码包括第一目标源码和第二目标源码;所述第一目标源码对应第一处理器;所述第二目标源码对应第二处理器;所述编译文件中包括编译所述第一目标源码得到的第一编译文件,以及编译所述第二目标源码得到的第二编译文件;所述加密所述中间可执行文件中与所述编译文件对应的至少部分内容的步骤包括:加密所述中间可执行文件中与所述第二编译文件对应的至少部分内容。3.根据权利要求2所述的方法,其中,还包括:从目标源码分离所述第一目标源码以及所述第二目标源码的步骤。4.根据权利要求2所述的方法,其中,所述第一目标源码通过第一编码语言开发,所述第二目标源码通过第二编码语言开发;所述编译目标源码的步骤包括:以符合所述第一编码语言支持的编译方式,编译所述第一目标源码得到对应的第一编译文件;以符合所述第二编码语言支持的编译方式,编译所述第二目标源码得到对应的中间编译文件;对所述中间编译文件进行转换,得到中间转换文件;将中间转换文件与中间编译文件合并,得到符合所述第一编码语言支持的文件格式的中间合并文...

【专利技术属性】
技术研发人员:梁家辉
申请(专利权)人:北京顶象技术有限公司
类型:发明
国别省市:北京,11

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

1