本发明专利技术实施例公开了敏感代码的保护方法、装置、计算机设备及存储介质,敏感代码的保护方法包括:将获取到的敏感代码编译为敏感文件,并提取所述敏感文件中的敏感机器指令;将所述敏感机器指令嵌入至非敏感代码;定义所述敏感机器指令在所述非敏感代码中的调用函数指针,以调用所述非敏感代码中的所述敏感机器指令。维护敏感代码的过程中,可直接添加非公开的敏感代码,不需要修改链接敏感文件与非敏感文件的链接控制文件,简化了生成可执行文件的步骤。此外,维护敏感代码的同时,还可以同步维护非敏感代码,避免了由于维护后的敏感文件与非敏感文件不兼容,导致的生成的可执行文件无法可靠运行的风险。无法可靠运行的风险。无法可靠运行的风险。
【技术实现步骤摘要】
敏感代码的保护方法、装置、计算机设备及存储介质
[0001]本专利技术涉及计算机设备领域,尤其涉及一种敏感代码的保护方法、装置、计算机设备及存储介质。
技术介绍
[0002]编程代码是基于开发工具所支持的编写规则生成的源文件,是一组由字符、符号或信息码元以离散形式表示信息的规则体系。随着互联网技术的快速发展,基于编程代码开发的软件程序数量逐渐增加,软件程序中通常包含了不能直接公开的敏感代码。为防止他人通过反编译、反汇编等方式对软件程序进行抄袭与篡改,通常会将敏感代码编译成独立的敏感文件。将编译得到的敏感文件与非敏感文件进行链接,生成软件程序的可执行文件,以保护软件程序中的敏感代码。
[0003]然而,开发人员在维护敏感代码过程中,无法直接修改可执行文件中的敏感文件。需重新编译维护后的敏感代码得到新的敏感文件,并修改用于链接敏感文件与非敏感文件的链接控制文件。同时,若非敏感文件与新的敏感文件不兼容时,还会导致生成的可执行文件无法可靠运行。显然,现有的敏感代码的编译链接方法,不便于对敏感代码进行维护。
技术实现思路
[0004]有鉴于此,本专利技术的目的是为了克服现有技术中的不足,提供一种敏感代码的保护方法、装置、计算机设备及存储介质,以解决软件程序中的敏感代码不便于维护的问题。
[0005]第一方面,本申请的一个实施方式提供一种敏感代码的保护方法,所述方法包括:
[0006]将获取到的敏感代码编译为敏感文件,并提取所述敏感文件中的敏感机器指令;
[0007]将所述敏感机器指令嵌入至非敏感代码;
[0008]定义所述敏感机器指令在所述非敏感代码中的调用函数指针,以调用所述非敏感代码中的所述敏感机器指令。
[0009]结合第一方面,在第一种可能的实现方式中,所述将所述敏感机器指令嵌入至非敏感代码,包括:
[0010]创建敏感机器指令的存放数组;
[0011]将所述敏感机器指令存放至所述存放数组,并将所述存放数组嵌入至非敏感代码。
[0012]结合第一方面的第一种可能的实现方式,在第二可能的方式中,所述定义所述敏感机器指令在所述非敏感代码中的调用函数指针,包括:
[0013]创建在所述非敏感代码中的调用函数指针,并将所述调用函数指针指向所述存放数组。
[0014]结合第一方面,在第三种可能的实现方式中,所述定义所述敏感机器指令在所述非敏感代码中的调用函数指针之后,还包括:
[0015]将嵌入所述敏感机器指令后的非敏感代码,编译为可执行文件。
[0016]结合第一方面,在第四种可能的实现方式中,所述提取所述敏感文件中的敏感机器指令,包括:
[0017]获取所述敏感文件中的核心代码段,并将所述核心代码段提取为二进制格式的敏感机器指令。
[0018]第二方面,本申请的一个实施方式提供一种敏感代码的保护装置,所述装置包括:
[0019]指令提取模块,用于将获取到的敏感代码编译为敏感文件,并提取所述敏感文件中的敏感机器指令;
[0020]指令嵌入模块,用于将所述敏感机器指令嵌入至非敏感代码;
[0021]指针定义模块,用于定义所述敏感机器指令在所述非敏感代码中的调用函数指针,以调用所述非敏感代码中的所述敏感机器指令。
[0022]结合第二方面,在第一种可能的实现方式中,所述指令嵌入模块,包括:
[0023]数组创建子模块,创建敏感机器指令的存放数组;
[0024]指令存放子模块,用于将所述敏感机器指令存放至所述存放数组,并将所述存放数组嵌入至非敏感代码。
[0025]结合第二方面的第一种可能的实现方式,在第二可能的方式中,所述指针定义模块,还用于创建在所述非敏感代码中的调用函数指针,并将所述调用函数指针指向所述存放数组。
[0026]第三方面,本申请的一个实施方式提供一种计算机设备,包括处理器及存储器,所述存储器上存储有程序或指令,所述程序或指令被所述处理器执行,以使所述计算机设备执行上述的敏感代码的保护方法的步骤。
[0027]第四方面,本申请的一个实施方式提供一种计算机可读存储介质,所述计算机可读存储介质上存储有程序或指令,所述程序或指令被处理器执行时实现上述的敏感代码的保护方法的步骤。
[0028]本申请提供一种敏感代码的保护方法,包括:将获取到的敏感代码编译为敏感文件,并提取所述敏感文件中的敏感机器指令;将所述敏感机器指令嵌入至非敏感代码;定义所述敏感机器指令在所述非敏感代码中的调用函数指针,以调用所述非敏感代码中的所述敏感机器指令。维护敏感代码的过程中,可直接添加非公开的敏感代码,不需要修改链接敏感文件与非敏感文件的链接控制文件,简化了生成可执行文件的步骤。此外,维护敏感代码的同时,还可以同步维护非敏感代码,避免了由于维护后的敏感文件与非敏感文件不兼容,导致的生成的可执行文件无法可靠运行的风险。
附图说明
[0029]为了更清楚地说明本专利技术的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本专利技术的某些实施例,因此不应被看作是对本专利技术保护范围的限定。在各个附图中,类似的构成部分采用类似的编号。
[0030]图1示出了本专利技术实施例提供的敏感代码的保护方法的流程图;
[0031]图2示出了本专利技术实施例提供的敏感代码的保护方法的另一种流程图;
[0032]图3示出了本专利技术实施例提供的敏感代码的保护装置的结构示意图。
具体实施方式
[0033]下面将结合本专利技术实施例中附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。
[0034]通常在此处附图中描述和示出的本专利技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本专利技术的实施例的详细描述并非旨在限制要求保护的本专利技术的范围,而是仅仅表示本专利技术的选定实施例。基于本专利技术的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0035]在下文中,可在本专利技术的各种实施例中使用的术语“包括”、“具有”及其同源词仅意在表示特定特征、数字、步骤、操作、元件、组件或前述项的组合,并且不应被理解为首先排除一个或更多个其它特征、数字、步骤、操作、元件、组件或前述项的组合的存在或增加一个或更多个特征、数字、步骤、操作、元件、组件或前述项的组合的可能性。
[0036]此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0037]除非另有限定,否则在这里使用的所有术语(包括技术术语和科学术语)具有与本专利技术的各种实施例所属领域普通技术人员通常理解的含义相同的含义。所述术语(诸如在一般使用的词典中限定的术语)将被解释为具有与在相关
中的语境含义相同的含义并且将不被解释为具有理想化的含义或过于正式的含义,除非在本专利技术的各种实施例中被清楚地限定本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种敏感代码的保护方法,其特征在于,所述方法包括:将获取到的敏感代码编译为敏感文件,并提取所述敏感文件中的敏感机器指令;将所述敏感机器指令嵌入至非敏感代码;定义所述敏感机器指令在所述非敏感代码中的调用函数指针,以调用所述非敏感代码中的所述敏感机器指令。2.根据权利要求1所述的敏感代码的保护方法,其特征在于,所述将所述敏感机器指令嵌入至非敏感代码,包括:创建敏感机器指令的存放数组;将所述敏感机器指令存放至所述存放数组,并将所述存放数组嵌入至非敏感代码。3.根据权利要求2所述的敏感代码的保护方法,其特征在于,所述定义所述敏感机器指令在所述非敏感代码中的调用函数指针,包括:创建在所述非敏感代码中的调用函数指针,并将所述调用函数指针指向所述存放数组。4.根据权利要求1所述的敏感代码的保护方法,其特征在于,所述定义所述敏感机器指令在所述非敏感代码中的调用函数指针之后,还包括:将嵌入所述敏感机器指令后的非敏感代码,编译为可执行文件。5.根据权利要求1所述的敏感代码的保护方法,其特征在于,所述提取所述敏感文件中的敏感机器指令,包括:获取所述敏感文件中的核心代码段,并将所述核心代码段提取为二进制格式的敏感机器指令。6.一种敏感...
【专利技术属性】
技术研发人员:汪鹏程,欧阳运升,
申请(专利权)人:上海步科自动化股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。