CN102880461B - 一种编译链接方法及装置 - Google Patents
一种编译链接方法及装置 Download PDFInfo
- Publication number
- CN102880461B CN102880461B CN201210312899.1A CN201210312899A CN102880461B CN 102880461 B CN102880461 B CN 102880461B CN 201210312899 A CN201210312899 A CN 201210312899A CN 102880461 B CN102880461 B CN 102880461B
- Authority
- CN
- China
- Prior art keywords
- protected location
- modules
- global variable
- file
- rewritten
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Devices For Executing Special Programs (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例提供的一种编译链接方法及装置,涉及通信领域,能够通过增设保护区,以便当保护区被改写时,保护区能够隔离改写该保护区的目标文件,进而保障了其他模块的目标文件不被改写。该方法包括:获取至少两个模块的全局变量;分别编译至少两个模块的全局变量,生成与至少两个模块对应的至少两个目标文件;当链接至少两个目标文件时,在至少两个目标文件后分别增设保护区,进而生成可执行程序,以使得当保护区被改写时,保护区隔离改写保护区的目标文件。
Description
技术领域
本发明涉及通信领域,尤其涉及一种编译链接方法及装置。
背景技术
在软件开发的过程中,为了利于软件的开发和维护,一个大型软件的功能被分成不同的模块。这些模块被单独进行开发,即把高级语言(如C,C++等)翻译为机器语言(根据处理器的不同会有不同的定义),然后生成目标文件,再通过链接器将各个模块的目标文件链接为一个可执行程序,其中,各个模块包括各个模块相应的全局变量及指令。
现有技术实现将各个模块的目标文件链接为一个可执行程序的方法是,直接将各个模块相应的全局变量的目标文件合并、相应的指令合并,以生成最终的可执行程序,例如,一个软件的功能被分为A、B两个模块,模块A包括模块A的全局变量及模块A的指令,模块B包括模块B的全局变量及模块B的指令,现有技术即是直接将模块A的全局变量的编译后的目标文件与模块B的全局变量的编译后的目标文件合并、将模块A的指令与模块B的指令合并,以生成最终的可执行程序。
但是,采用现有技术链接成的可执行程序,在程序运行时,由于某些软件缺陷,会导致调用某个模块的数据产生越界操作而改写其他模块的数据的情况,例如,当模块A的目标文件被调用时,若产生越界操作,则可能修改了模块B的目标文件,这必然导致的结果是该可执行程序无法正常执行。
发明内容
本发明的实施例提供一种编译链接方法及装置,通过增设保护区,以便当保护区被改写时,保护区能够隔离改写该保护区的目标文件,进而保障了其他模块的目标文件不被改写。
为达到上述目的,本发明的实施例采用如下技术方案:
本发明实施例提供一种编译链接方法,该方法包括:
获取至少两个模块的全局变量;
分别编译所述至少两个模块的全局变量,生成与所述至少两个模块对应的至少两个目标文件;
当链接所述至少两个目标文件时,在所述至少两个目标文件后分别增设保护区,进而生成可执行程序,以使得当保护区被改写时,所述保护区隔离改写所述保护区的目标文件。
本发明实施例还提供一种编译链接装置,该装置包括:
编译器,用于在获取至少两个模块的全局变量后,分别编译所述至少两个模块的全局变量,生成与所述至少两个模块对应的至少两个目标文件,并将所述至少两个目标文件传输给链接器;
链接器,用于在接收来自所述编译器的所述至少两个目标文件后,链接所述至少目标文件时,在所述至少两个目标文件后分别增设保护区,以使得当保护区被改写时,所述保护区隔离改写所述保护区的目标文件。
本发明实施例所提供的编译链接的方法及装置,通过在获取至少两个模块的全局变量后,分别编译至少两个模块的全局变量,以生成与至少两个模块对应的至少两个目标文件,并且,当链接该至少两个目标文件时,在至少两个目标文件后分别增设保护区,进而生成可执行程序,以使得当保护区被改写时,保护区隔离改写保护区的目标文件。通过该方案,由于在各个模块的全局变量所编译后的目标文件后增设了保护区,因此在某些模块越界操作时,保护区能够及时隔离改写该保护区的目标文件,不但能够保障其他模块的目标文件不被改写也能够尽快排除故障。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的编译链接方法流程示意图一;
图2为本发明实施例提供的编译链接方法流程示意图二;
图3为本发明实施例提供的模块结构示意图一;
图4为现有技术的模块结构示意图;
图5为本发明实施例提供的模块结构示意图二;
图6为本发明实施例提供的MMU、CPU与内存的连接示意图;
图7为本发明实施例提供的编译链接装置结构示意图一;
图8为本发明实施例提供的编译链接装置结构示意图二。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种编译链接方法,如图1所示,该方法包括:
S101、编译链接装置获取至少两个模块的全局变量。
由于一个软件的功能被分为多个模块分别进行开发,因此编译链接装置若要将各个模块链接为一个可执行程序,首先需要获取各个模块的全局变量。
这里,模块的全局变量是指作用于整个源程序的在函数外部定义的变量。
S102、编译链接装置分别编译至少两个模块的全局变量,生成与至少两个模块对应的至少两个目标文件。
在获取至少两个模块的全局变量后,编译链接装置会对该至少两个模块的全局变量进行编译,进而生成与至少两个模块对应的至少两个目标文件。这里的“编译”是指,把“高级语言”翻译为“机器语言”,其中,高级语言可以为C语言、C++语言等,机器语言则根据不同的要求有不同的定义,具体地,编译链接装置对该至少两个模块的全局变量进行编译的步骤可以由编译器来执行。
S103、当链接至少两个目标文件时,编译链接装置在至少两个目标文件后分别增设保护区,进而生成可执行程序,以使得当保护区被改写时,保护区隔离改写保护区的目标文件。
编译链接装置在编译至少两个模块的全局变量,生成至少两个目标文件后,编译链接装置会链接至少两个目标文件,链接时编译链接装置在至少两个目标文件后分别增设保护区。
示例性的,编译链接装置在至少两个目标文件后分别增设保护区的方法可以为:在至少两个目标文件的链接脚本后分别增加程序“**Protect=;=ALIGN(4096)+4096”,其中,“**”代表某一个模块的目标文件的名称,“=ALIGN(4096)+4096”代表保护区的结束地址,具体的编译链接的脚本后续实施例中会给出。
由于在各个模块的目标文件后增设了保护区,因此当保护区被某个模块的目标文件的越界操作所改写时,保护区能够及时隔离该目标文件,以保护其他模块的数据免遭破坏。
至此,编译链接装置将增设有保护区后的至少两个模块的目标文件合并,将至少两个模块的指令合并,生成可执行程序。
本发明实施例提供的一种编译链接方法,通过在获取至少两个模块的全局变量后,分别编译至少两个模块的全局变量,以生成与至少两个模块对应的至少两个目标文件,并且,当链接该至少两个目标文件时,在至少两个目标文件后分别增设保护区,进而生成可执行程序,以使得当保护区被改写时,保护区隔离改写保护区的目标文件。通过该方案,由于在各个模块的全局变量所编译后的目标文件后增设了保护区,因此在某些模块越界操作时,保护区能够及时隔离改写该保护区的目标文件,不但能够保障其他模块的目标文件不被改写,也能够尽快排除故障。
本发明实施例提供的一种编译链接方法,如图2所示,该方法包括:
S201、编译链接装置获取至少两个模块的全局变量。
在将多个模块链接为一个可执行程序前,编译链接装置首先需要获取各个模块的全局变量。
S202、编译链接装置分别编译至少两个模块的全局变量,生成与至少两个模块对应的至少两个目标文件。
S203、当链接至少两个目标文件时,编译链接装置在至少两个目标文件后分别增设保护区,进而生成可执行程序,以使得当保护区被改写时,保护区隔离改写保护区的目标文件。
结合步骤S202和步骤S203,对编译链接装置如何在各个模块在链接时增设保护区,并将各个模块链接为一个可执行程序的进行说明。
示例性的,如图3所示,以存在两个模块,分别为模块A和模块B进行描述,一个软件的功能被分为A、B两个模块,模块A包括模块A的全局变量及模块A的指令,模块B包括模块B的全局变量及模块B的指令(code),具体的,模块A的全局变量包括初始化了的全局变量(data)和未初始化的全局变量(bss),模块A的全局变量包括初始化了的全局变量(data)和未初始化的全局变量(bss)。
在获取模块A的全局变量和模块B的全局变量后,编译链接装置会对模块A的全局变量和模块B的全局变量进行编译,进而生成与模块A的全局变量对应的目标文件和与模块B的全局变量对应的目标文件。这里的“编译”是指,把“高级语言”翻译为“机器语言”,其中,高级语言可以为C语言、C++语言等,机器语言则根据不同的要求有不同的定义。
如图4所示,现有技术即是直接将模块A的全局变量的编译后的目标文件与模块B的全局变量的编译后的目标文件合并、将模块A的指令与模块B的指令合并,以生成最终的可执行程序,即对应于模块A的初始化了的全局变量(data)的目标文件与对应于模块B的初始化了的全局变量(data)的目标文件合并,对应于模块A的未初始化的全局变量(bss)的目标文件与对应于模块B的未初始化的全局变量(bss)的目标文件合并,模块A的指令(code)与模块B的指令(code)合并,进而,将模块A和模块B链接在一起以生成最终的可执行程序。
如图5所示,本发明实施例所提供的编译链接方法,在对应于各个模块的全局变量的目标文件后增设保护区后合并,以生成最终的可执行程序,即将增设了保护区的对应于模块A的初始化了的全局变量(data)的目标文件与增设了保护区的对应于模块B的初始化了的全局变量(data)的目标文件合并,将增设了保护区的对应于模块A的未初始化的全局变量(bss)的目标文件与增设了保护区的对应于模块B的未初始化的全局变量(bss)的目标文件合并,模块A的指令(code)与模块B的指令(code)合并,进而,生成最终的可执行程序。
示例性的,假设目前***中存在两个模块A和模块B以及第三方库文件C,需要将它们链接为一个可执行程序,使得他们能在PPC(PowerPersonalComputer,PowerPC处理器)上运行,这里,第三方库文件是指无法看到源代码的数据库。
首先编译链接装置将所要编译的模块A和模块B编译成目标文件,分别为模块A.o和模块B.o,然后使用链接脚本,把模块A.o、模块B.o和第三方库文件C链接成可执行程序。
编译链接脚本如下:
然后,执行命令ldA.oB.oC-oload-Tlink.RAM,其中load为最终生成的可执行程序的名称,Link.RAM为上面的链接脚本保存的文件名。
需要说明的是,编译链接脚本中的.=ALIGN(4096)+4096这句语言,定义了保护区的空间大小为4096字节,且起始段的起始地址是4096*N(N=0,1,2,3,...),即N为正整数,那么对应于图5可知,若模块A.o的结束地址为x,则模块A.o的保护区的起始地址为距x最近的且大于x的4096的倍数,例如,若模块A.o的结束地址为4094,则模块A.o的保护区的起始地址为4096;若模块A.o的结束地址为4098,则模块A.o的保护区的起始地址为8192,以此类推。如此设置的原因是PPC处理器的MMU(MemoryManagementUnit,内存管理单元)是按照4096大小的页来管理内存的,其中,页是指MMU管理数据的最小单位。
需要补充的是,本发明实施例提供的编译链接方法,能够结合MMU进行保护区的监控,以实现精确定位到异常模块和代码行。如图6所示,MMU是CPU(CentralProcessingUnit,中央处理器)用来管理内存(虚拟内存和物理内存)的控制线路,同时也负责将虚拟地址映射成物理地址,以及提供硬件机制的内存访问授权。MMU根据需要对特定的内存区域的访问进行保护,通过设置访问权限,我们可以将特定的内存区域设置成只读、可读可写或者不可读不可写等。当应用层申请使用内存时,发现权限不允许,则MMU触发异常,应用层通过捕获异常,来监控内存的非法操作,从而判断这块内存越界。从而可以通过MMU监控保护区来监控内存的越界操作。因此,本发明可以将增设的各个保护区的权限设置为只读,只读用于指示保护区不允许被改写,通过MMU监控保护区,发现发生操作越界时,例如,模块A代码异常,试图写入模块A所在的保护区时,MMU发现该保护区为只读权限,立即抛出异常,同时,试图写入保护区的动作会被立即捕获到,那么,MMU调用用户注册的异常信息获取函数,并记录寄存器信息,堆栈信息等,从而精确定位到是哪个模块、哪行代码试图修改保护区。
综上所述,通过增设保护区,例如,在对应于模块A的全局变量的目标文件后增设保护区,链接后与该保护区相邻的目标文件即为对应于模块A的全局变量目标文件和对应于模块B的全局变量的目标文件,那么,若用户在调用对应于模块A的全局变量的目标文件而产生越界操作时,该保护区能够隔离该对应于模块A的全局变量的目标文件,进而保障对应于模块B的全局变量的目标文件不被改写。
S204、当执行可执行程序时,编译链接装置周期性或非周期检测保护区是否被改写。
若本发明实施例提供的编译链接方法不结合MMU机制,则保护区的检测方法可以采用其它方式。例如,为保护区写入特殊值,当执行可执行程序时,编译链接装置周期性或非周期检测保护区是否被改写,如果特殊值被修改,则可以知道哪个模块出现异常。
需要补充的是,本发明实施例提供的编译链接方法,可以不依赖于是否拥有模块的源代码,即当使用到除了本地库和***库之外的第三方库时,在库的前后加上保护区,当出现代码异常时能够隔离第三方库并且精确定位。
本发明实施例提供的一种编译链接方法,通过在获取至少两个模块的全局变量后,分别编译至少两个模块的全局变量,以生成与至少两个模块对应的至少两个目标文件,并且,当链接该至少两个目标文件时,在至少两个目标文件后分别增设保护区,进而生成可执行程序,以使得当保护区被改写时,保护区隔离改写保护区的目标文件。通过该方案,由于在各个模块的全局变量所编译后的目标文件后增设了保护区,因此在某些模块越界操作时,保护区能够及时隔离改写该保护区的目标文件,不但能够保障其他模块的目标文件不被改写,也能够在周期性或非周期性检测保护区是否被改写后尽快排除故障。
本发明实施例提供的编译链接装置1,对应上述方法实施例,编译链接装置1的各个功能单元均可以用于上述方法步骤。如图7所示,包括:
编译器10,用于在获取至少两个模块的全局变量后,分别编译至少两个模块的全局变量,生成与至少两个模块对应的至少两个目标文件,并将至少两个目标文件传输给链接器;
链接器11,用于在接收来自编译器的至少两个目标文件后,链接至少目标文件时,在至少两个目标文件后分别增设保护区,以使得当保护区被改写时,保护区隔离改写保护区的目标文件。
进一步地,保护区所占的空间为4096字节。
进一步地,保护区的起始地址均为4096*N,其中,N为正整数。
进一步地,保护区的权限为只读,只读用于指示保护区不允许被改写。
进一步地,如图8所示,编译链接装置1,还包括:
处理器12,用于当执行可执行程序时,周期性或非周期检测保护区是否被改写。
需要说明的是,本发明实施例所述的保护区所占的空间并不只限于4096字节,可以根据用户使用处理器的不同进行调整,保护区的大小根据处理器的页的大小来决定,其中,页是指MMU管理数据的最小单位。
还需要说明的是,链接至少目标文件时,在至少两个目标文件后分别增设保护区,保护区用于隔离改写保护区的模块的全局变量,进而生成可执行程序,其中,位于指令和未初始化的全局变量之间的保护区是用来保护未初始化的全局变量的,因为指令区一般被设置为只读,不会被改写,所以无需进行保护。
本发明实施例提供的一种编译链接装置,通过在获取至少两个模块的全局变量后,分别编译至少两个模块的全局变量,以生成与至少两个模块对应的至少两个目标文件,并且,当链接该至少两个目标文件时,在至少两个目标文件后分别增设保护区,进而生成可执行程序,以使得当保护区被改写时,保护区隔离改写保护区的目标文件。通过该方案,由于在各个模块的全局变量所编译后的目标文件后增设了保护区,因此在某些模块越界操作时,保护区能够及时隔离改写该保护区的目标文件,不但能够保障其他模块的目标文件不被改写,也能够在周期性或非周期性检测保护区是否被改写后尽快排除故障。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种编译链接方法,其特征在于,包括:
获取至少两个模块的全局变量;
分别编译所述至少两个模块的全局变量,生成与所述至少两个模块对应的至少两个目标文件;
当链接所述至少两个目标文件时,在所述至少两个目标文件后分别增设保护区,进而生成可执行程序,以使得当保护区被改写时,所述保护区隔离改写所述保护区的目标文件。
2.根据权利要求1所述的编译链接方法,其特征在于,所述保护区所占的空间为4096字节。
3.根据权利要求1所述的编译链接方法,其特征在于,所述保护区的权限为只读,所述只读用于指示所述保护区不允许被改写。
4.根据权利要求1-3任意一项所述的编译链接方法,其特征在于,所述保护区的起始地址均为4096*N,所述N为正整数。
5.根据权利要求1或2所述的编译链接方法,其特征在于,还包括:
当执行所述可执行程序时,周期性或非周期检测所述保护区是否被改写。
6.一种编译链接装置,其特征在于,包括:
编译器,用于在获取至少两个模块的全局变量后,分别编译所述至少两个模块的全局变量,生成与所述至少两个模块对应的至少两个目标文件,并将所述至少两个目标文件传输给链接器;
链接器,用于在接收来自所述编译器的所述至少两个目标文件后,链接所述至少目标文件时,在所述至少两个目标文件后分别增设保护区,以使得当保护区被改写时,所述保护区隔离改写所述保护区的目标文件。
7.根据权利要求6所述的编译链接装置,其特征在于,所述保护区所占的空间为4096字节。
8.根据权利要求6所述的编译链接装置,其特征在于,所述保护区的起始地址均为4096*N,所述N为正整数。
9.根据权利要求6-8任意一项所述的编译链接装置,其特征在于,所述保护区的权限为只读,所述只读用于指示所述保护区不允许被改写。
10.根据权利要求6-8任意一项所述的编译链接装置,其特征在于,还包括:
处理器,用于当执行所述可执行程序时,周期性或非周期检测所述保护区是否被改写。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210312899.1A CN102880461B (zh) | 2012-08-29 | 2012-08-29 | 一种编译链接方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210312899.1A CN102880461B (zh) | 2012-08-29 | 2012-08-29 | 一种编译链接方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102880461A CN102880461A (zh) | 2013-01-16 |
CN102880461B true CN102880461B (zh) | 2015-11-25 |
Family
ID=47481800
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210312899.1A Active CN102880461B (zh) | 2012-08-29 | 2012-08-29 | 一种编译链接方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102880461B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106708593B (zh) * | 2015-07-16 | 2020-12-08 | 中兴通讯股份有限公司 | 一种程序链接的编译方法及装置 |
CN106815520A (zh) * | 2016-12-30 | 2017-06-09 | 东软集团股份有限公司 | 引擎保护方法和装置 |
CN110688320B (zh) * | 2019-09-30 | 2023-05-23 | 潍柴动力股份有限公司 | 全局变量的检测方法、装置及终端设备 |
CN113032737B (zh) * | 2021-03-15 | 2021-11-30 | 清华大学 | 软件的保护方法、装置、电子设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101290596A (zh) * | 2008-05-23 | 2008-10-22 | 中兴通讯股份有限公司 | 一种任务堆栈溢出的实时检测方法及装置 |
CN101650664A (zh) * | 2009-06-30 | 2010-02-17 | 北京飞天诚信科技有限公司 | 链接方法和链接器 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8114268B2 (en) * | 2005-12-30 | 2012-02-14 | Medtronic Minimed, Inc. | Method and system for remedying sensor malfunctions detected by electrochemical impedance spectroscopy |
-
2012
- 2012-08-29 CN CN201210312899.1A patent/CN102880461B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101290596A (zh) * | 2008-05-23 | 2008-10-22 | 中兴通讯股份有限公司 | 一种任务堆栈溢出的实时检测方法及装置 |
CN101650664A (zh) * | 2009-06-30 | 2010-02-17 | 北京飞天诚信科技有限公司 | 链接方法和链接器 |
Non-Patent Citations (1)
Title |
---|
"基于八位处理器的汇编器链接器的研究与设计";李士福;《中国优秀硕士学位论文全文数据库信息科技辑》;20080215(第02期);本文第12,17页,第44-53页 * |
Also Published As
Publication number | Publication date |
---|---|
CN102880461A (zh) | 2013-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109643345B (zh) | 用于确定性代码流完整性保护的技术 | |
CN105393255A (zh) | 用于虚拟机中的恶意软件检测的过程评估 | |
CN109840410A (zh) | 一种进程内数据隔离与保护的方法和*** | |
US11797398B2 (en) | Systems and methods for checking safety properties | |
JP5467271B2 (ja) | 情報処理装置及びプログラム、情報処理方法、記録媒体 | |
CN105224370A (zh) | 一种加载elf文件的方法和装置 | |
CN102880461B (zh) | 一种编译链接方法及装置 | |
CN102708013A (zh) | 程序语句控制的指令流控制 | |
CN101241464A (zh) | 一种检测堆栈帧破坏的方法 | |
WO2019237866A1 (zh) | 一种运行时访问控制方法及计算装置 | |
CN105528179A (zh) | 存储器位置之间控制的转移的***和方法 | |
CN103793651A (zh) | 基于Xen虚拟化的内核完整性检测方法 | |
CN115617687B (zh) | 程序插桩方法、装置、设备和存储介质 | |
US8473936B2 (en) | System and method for runtime class extracting | |
CN105765531A (zh) | 对程序二进制文件的通用拆包 | |
US10983923B2 (en) | Dynamic memory protection | |
CN107851032B (zh) | 用于在容器中执行服务的计算装置、***及方法 | |
CN103729598B (zh) | 数据安全互联***及其建立方法 | |
CN111625296B (zh) | 一种通过构建代码副本保护程序的方法 | |
CN103198244A (zh) | 保护动态链接库的方法 | |
CN108460254A (zh) | 固件保护方法及装置 | |
CN115422554B (zh) | 请求处理方法、编译方法和可信计算*** | |
US20220308991A1 (en) | Test processing method and information processing apparatus | |
CN103729600B (zh) | 数据安全互联***建立方法及数据安全互联*** | |
KR101842263B1 (ko) | 어플리케이션에 대한 역공학 차단 방법 및 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |