CN106339247A - 一种动态链接库文件的加载系统及加载方法 - Google Patents

一种动态链接库文件的加载系统及加载方法 Download PDF

Info

Publication number
CN106339247A
CN106339247A CN201610820878.9A CN201610820878A CN106339247A CN 106339247 A CN106339247 A CN 106339247A CN 201610820878 A CN201610820878 A CN 201610820878A CN 106339247 A CN106339247 A CN 106339247A
Authority
CN
China
Prior art keywords
dynamic link
link library
module
library file
address
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.)
Pending
Application number
CN201610820878.9A
Other languages
English (en)
Inventor
杨亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan Douyu Network Technology Co Ltd
Original Assignee
Wuhan Douyu Network Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wuhan Douyu Network Technology Co Ltd filed Critical Wuhan Douyu Network Technology Co Ltd
Priority to CN201610820878.9A priority Critical patent/CN106339247A/zh
Publication of CN106339247A publication Critical patent/CN106339247A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种动态链接库文件的加载系统,涉及通信技术领域,包括读写模块,读写模块用于将动态链接库文件读取到内存中;解析模块,解析模块用于解析动态链接库文件的文件头,判断是否为一个合法的动态链接库文件;重定位模块,重定位模块用于通过动态链接库文件的格式获取其重定位表的地址,根据重定位表的地址对重定位项进行重定位;导入地址表填充模块,导入地址表填充模块用于通过动态链接库文件的格式获取其导入地址表,并填充所需导入函数的真实地址;入口函数执行模块,入口函数执行模块用于通过动态链接库文件的格式获取入口函数,并执行入口函数。本发明公开了一种基于动态链接库文件的加载系统的加载动态链接库文件的方法。

Description

一种动态链接库文件的加载系统及加载方法
技术领域
本发明涉及通信技术领域,具体涉及一种动态链接库文件的加载系统及加载方法。
背景技术
动态链接库文件(DLL)是Windows系统上可执行文件(PE文件)的一种,如EXE文件。DLL文件不能独立运行,而是通过DLL文件对应的进程在运行过程中,通过Windows系统的动态链接器加载到应用程序进程中从而得以运行。应用程序中显示并加载DLL的方法一般是通过调用LoadLibrary函数,将某个DLL文件加载到应用程序进程中。
通过调用系统LoadLibrary函数,很容易通过模块扫描的方法,枚举出应用程序进程中所加载的DLL模块,但是对于那些希望隐藏模块,就很难做到模块的隐蔽性,难以阻止Windows系统的自动化测试(API)检测到此动态链接库文件的存在。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种动态链接库文件的加载系统及加载方法,不使用LoadLibrary函数加载动态链接库文件,Windows系统的API检测不到此动态链接库文件的存在。
为达到以上目的,本发明采取的技术方案是:一种动态链接库文件的加载系统,包括:
读写模块,所述读写模块用于将动态链接库文件读取到内存中;
解析模块,所述解析模块用于解析动态链接库文件的文件头,并判断解析的文件是否为一个合法的动态链接库文件;
重定位模块,所述重定位模块用于通过动态链接库文件的格式获取其重定位表的地址,根据重定位表的地址对重定位项进行重定位;
导入地址表填充模块,所述导入地址表填充模块用于通过动态链接库文件的格式获取其导入地址表,并填充所需导入函数的真实地址;
入口函数执行模块,所述入口函数执行模块用于通过动态链接库文件的格式获取入口函数,并执行入口函数。
在上述技术方案的基础上,所述导入地址表包括导入函数的名称或者序号以及导入函数的地址。
在上述技术方案的基础上,所述入口函数为DllMainStartup函数。
在上述技术方案的基础上,所述动态链接库文件的格式包括DOS头和NT头,所述NT头包括PE签名、PE文件头、PE可选头。
本发明还提供一种基于一种动态链接库文件的加载系统的动态链接库文件的加载方法,包括以下步骤:
S1,所述读写模块将动态链接库文件读取到内存中;
S2,所述解析模块解析动态链接库文件的文件头,判断是否为一个合法的动态链接库文件;若是,进入步骤S3,若否,进入步骤S6;
S3,所述重定位模块通过动态链接库文件的格式获取其重定位表的偏移地址,根据重定位表的偏移地址对重定位项进行重定位;
S4,所述导入地址表填充模块通过动态链接库文件的格式获取其导入地址表,根据真实的导入函数地址对导入地址表进行填充;
S5,所述入口函数执行模块用于通过动态链接库文件的格式获取入口函数,并执行入口函数,结束;
S6,返回失败,结束。
在上述技术方案的基础上,步骤S1的具体过程包括:
若动态链接库文件为绝对路径时,通过读写模块搜索绝对路径下是否存在该文件;若是,则通过读写模块将该文件内容读取到内存中;若否,则返回失败;
若动态链接库文件为相对路径时,通过读写模块依次搜索应用程序当前目录下、系统目录下、系统环境变量的目录下是否存在该文件,若均否,则返回失败;若至少一个目录下存在该文件,则通过读写模块将该文件内容读取到内存中。
在上述技术方案的基础上,步骤S3的具体过程包括:通过重定位模块获取重定位表的偏移地址,并根据重定位表的偏移地址获得重定位的地址。
在上述技术方案的基础上,所述重定位的地址=动态链接库文件加载的起始地址+重定位表的偏移地址。
在上述技术方案的基础上,所述导入地址表包括导入函数的名称或者序号以及导入函数的地址。
在上述技术方案的基础上,步骤S4的具体过程包括:通过导入地址表填充模块获取导入函数的名称,并填充导入地址表内所列导入函数的真实地址。
与现有技术相比,本发明的优点在于:
本发明不使用LoadLibrary函数加载动态链接库文件,而是采用动态链接库文件的加载系统,即通过读写模块、解析模块、重定位模块、导入地址表填充模块将动态链接库文件加载到应用程序进程中,能够阻止Windows系统的API检测到此动态链接库文件的存在,从而实现动态链接库文件的隐蔽性。
附图说明
图1为本发明实施例中一种动态链接库文件的加载系统的结构框图;
图2为本发明实施例中一种加载动态链接库文件的加载方法的流程示意图;
图3为本发明实施例中一种加载动态链接库文件的加载方法步骤S3的流程示意图;
图4为本发明实施例中一种加载动态链接库文件的加载方法步骤S4的流程示意图。
图中:1-读写模块,2-解析模块,3-重定位模块,4-导入地址表填充模块,5-入口函数执行模块。
具体实施方式
以下结合附图及实施例对本发明作进一步详细说明。
参见图1所示,本发明实施例提供一种加载动态链接库文件的方法一种动态链接库文件的加载系统,包括:读写模块1,所述读写模块1用于将动态链接库文件读取到内存中;解析模块2,所述解析模块2用于解析动态链接库文件的文件头,判断解析的文件是否为一个合法的动态链接库文件;重定位模块3,所述重定位模块3用于通过动态链接库文件的格式获取其重定位表的地址,根据重定位表的地址对重定位项进行重定位;导入地址表填充模块4,所述导入地址表填充模块4用于通过动态链接库文件的格式获取其导入地址表,并填充所需导入函数的真实地址;入口函数执行模块5,所述入口函数执行模块5用于通过动态链接库文件的格式获取入口函数,并执行入口函数。所述导入地址表包括导入函数的名称或者序号以及导入函数的地址。所述入口函数为DllMainStartup函数。所述动态链接库文件的格式包括DOS头和NT头,所述NT头包括PE签名、PE文件头、PE可选头。
本发明不使用LoadLibrary函数加载动态链接库文件,而是采用动态链接库文件的加载系统,即通过读写模块1、解析模块2、重定位模块3、导入地址表填充模块4将动态链接库文件加载到应用程序进程中,能够阻止Windows系统的API检测到此动态链接库文件的存在,从而实现动态链接库文件的隐蔽性。
参见图2所示,本发明还公开了一种基于所述动态链接库文件的加载系统的动态链接库文件加载方法,包括以下步骤:
S1,所述读写模块1将动态链接库文件读取到内存中。步骤S1的具体过程包括:若动态链接库文件为绝对路径时,通过读写模块1搜索绝对路径下是否存在该文件;若是,则通过读写模块1将该文件内容读取到内存中;若否,则返回失败;若动态链接库文件为相对路径时,通过读写模块1依次搜索应用程序当前目录下、系统目录下、系统环境变量的目录下是否存在该文件,若均否,则返回失败;若存在,则通过读写模块1将该文件内容读取到内存中。
S2,所述解析模块2解析动态链接库文件的文件头,判断是否为一个合法的动态链接库文件。
S3,所述重定位模块3通过动态链接库文件的格式获取其重定位表的偏移地址,根据重定位表的偏移地址对重定位项进行重定位;步骤S3的具体过程包括:通过重定位模块获取重定位表的偏移地址;根据重定位表的偏移地址获得重定位的地址。所述重定位的地址=动态链接库文件加载的起始地址+重定位表的偏移地址。
S4,所述导入地址表填充模块4通过动态链接库文件的格式获取其导入地址表,根据真实的导入函数地址对导入地址表进行填充。所述导入地址表包括导入函数的名称或者序号以及导入函数的地址。步骤S4的具体过程包括:通过导入地址表填充模块4获取导入函数的名称;填充导入地址表内所列导入函数的真实地址。
S5,所述入口函数执行模块5用于通过动态链接库文件的格式获取入口函数,并执行入口函数,结束。
其中步骤S2判断是否为一个合法的动态链接库文件的判断方法为:
DOS头第一个字段e_magic为MZ,则该文件为一个合法的PE文件。对PE文件头第七个字段Characteristics和IMAGE_FILE_DLL(其值为0x2000)进行按位与操作,如果((pNtHeader->FileHeader.Characteristics&IMAGE_FILE_DLL)==IMAGE_FILE_DLL)则该PE文件是一个DLL文件。
参见图3所示,步骤S3的具体步骤如下:
S301,通过PE可选头中的DataDirectory数组中IMAGE_DIRECTORY_ENTRY_BASERELOC项获取重定位表地址,标记为pRelocaTable,类型为IMAGE_BASE_RELOCATION。
S302,根据pRelocaTable获取重定位表项地址,标记为pRelocaItem,其中两者的对应关系为pRelocaItem=(WORD*)pRelocaTable+IMAGE_BASE_RELOCATION结构的大小。
S303,计算出pRelocalItem重定位表项中有多少个重定位项,标记为N,其中N的计算方法为N=(pRelocaTable->SizeOfBlock–IMAGE_BASE_RELOCATION大小)/2。
S304,读取第一个重定位项的2个字节的数据标记为rva;
S305,rva右移12位,判断结果是否等于IMAGE_REL_BASED_HIGHLOW,如果相等,进入步骤S308,如果不相等,进入步骤S306,
S306,判断下一个重定位项是否为最后一位;若是,进入步骤S311,若否,进入步骤S307;
S307,读取下一个重定位项的2个字节的数据标记为rva,返回步骤S305;
S308,将rva和0xfff进行与运算,结果赋值给rva得到RVA;
S309,获取需要进行重定位的地址,标记为relocaaddress,其计算方法为relocaaddress=DLL加载的起始地址+重定位表偏移地址(pRelocaTable->VirtualAddress)+RVA;
S310,对relocaaddress进行重定位,即对relocaaddress地址处所在的内容加上一个偏移offset,其计算方法为:
offset=DLL的实际加载地址–DLL的默认加载地址;返回步骤S306;
S311,计算新的重定位表地址,并复制到pRelocaTable,其计算方法为:
pRelocaTable=旧的pRelocaTable+pRelocaTable->SizeOfBlock。
S312,判断新的pRelocaTable的VirtualAddress是否为0,若是,进入步骤S313;若否,则返回步骤S302。
步骤S313,结束重定位,结束。
参见图4所示,步骤S4中具体的填充导入地址表步骤如下:
S401,通过PE可选头的DataDirectory数组中的IMAGE_DIRECTORY_ENTRY_IMPORT项获取导入地址表的起始项,标记为pImportTable,类型为IMAGE_IMPORT_DESCRIPTOR;
S402,判断pImportTable的Name字段是否为空,若是,进入步骤S410;如否,进入步骤S403;
S403,获取导入函数名称地址表,标记为pImportFuncNameTable,其计算方式为:
pImportFuncNameTable=pImportTable->OriginalFirstThunk+DLL加载地址;
S404,获取导入函数地址表,标记为pImportFuncTable,计算方式为pImportFuncTable=pImportTable->FirstThunk+DLL加载地址;
S405,判断pImportFuncNameTable的Function字段是否为空,若是,进入步骤S409,若否,进入步骤S406;
S406,通过pImportFuncNameTable字段中的AddressOfData获取引用的外部函数名称,标记为funcname;
S407,填充pImportFuncTable的Function字段;
S408,pImportFuncNameTable地址加一、pImportFuncTable地址加一,返回到步骤S405;
S409,pImportTable地址加一,返回步骤S402;
S410,结束填充导入地址表,结束。
本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

Claims (10)

1.一种动态链接库文件加载系统,其特征在于,包括:
读写模块,所述读写模块用于将动态链接库文件读取到内存中;
解析模块,所述解析模块用于解析动态链接库文件的文件头,并判断解析的文件是否为一个合法的动态链接库文件;
重定位模块,所述重定位模块用于通过动态链接库文件的格式获取其重定位表的地址,根据重定位表的地址对重定位项进行重定位;
导入地址表填充模块,所述导入地址表填充模块用于通过动态链接库文件的格式获取其导入地址表,并填充所需导入函数的真实地址;
入口函数执行模块,所述入口函数执行模块用于通过动态链接库文件的格式获取入口函数,并执行入口函数。
2.如权利要求1所述一种动态链接库文件的加载系统,其特征在于:所述导入地址表包括导入函数的名称或者序号以及导入函数的地址。
3.如权利要求1所述一种动态链接库文件的加载系统,其特征在于:所述入口函数为DllMainStartup函数。
4.如权利要求1所述一种动态链接库文件的加载系统,其特征在于:所述动态链接库文件的格式包括DOS头和NT头,所述NT头包括PE签名、PE文件头、PE可选头。
5.一种基于如权利要求1-4任意一项所述的一种动态链接库文件的加载系统的动态链接库文件的加载方法,其特征在于,包括以下步骤:
S1,所述读写模块将动态链接库文件读取到内存中;
S2,所述解析模块解析动态链接库文件的文件头,判断是否为一个合法的动态链接库文件;若是,进入步骤S3,若否,进入步骤S6;
S3,所述重定位模块通过动态链接库文件的格式获取其重定位表的偏移地址,根据重定位表的偏移地址对重定位项进行重定位;
S4,所述导入地址表填充模块通过动态链接库文件的格式获取其导入地址表,根据真实的导入函数地址对导入地址表进行填充;
S5,所述入口函数执行模块用于通过动态链接库文件的格式获取入口函数,并执行入口函数,结束;
S6,返回失败,结束。
6.如权利要求5所述一种动态链接库文件加载方法,其特征在于:步骤S1的具体过程包括:
若动态链接库文件为绝对路径时,通过读写模块搜索绝对路径下是否存在该文件;若是,则通过读写模块将该文件内容读取到内存中;若否,则返回失败;
若动态链接库文件为相对路径时,通过读写模块依次搜索应用程序当前目录下、系统目录下、系统环境变量的目录下是否存在该文件,若均否,则返回失败;若至少一个目录下存在该文件,则通过读写模块将该文件内容读取到内存中。
7.如权利要求5所述一种动态链接库文件加载方法,其特征在于:步骤S3的具体过程包括:通过重定位模块获取重定位表的偏移地址,并根据重定位表的偏移地址获得重定位的地址。
8.如权利要求5所述一种动态链接库文件加载方法,其特征在于:所述重定位的地址=动态链接库文件加载的起始地址+重定位表的偏移地址。
9.如权利要求5所述一种动态链接库文件加载方法,其特征在于:所述导入地址表包括导入函数的名称或者序号以及导入函数的地址。
10.如权利要求9所述一种动态链接库文件加载方法,其特征在于:步骤S4的具体过程包括:通过导入地址表填充模块获取导入函数的名称,并填充导入地址表内所列导入函数的真实地址。
CN201610820878.9A 2016-09-13 2016-09-13 一种动态链接库文件的加载系统及加载方法 Pending CN106339247A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610820878.9A CN106339247A (zh) 2016-09-13 2016-09-13 一种动态链接库文件的加载系统及加载方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610820878.9A CN106339247A (zh) 2016-09-13 2016-09-13 一种动态链接库文件的加载系统及加载方法

Publications (1)

Publication Number Publication Date
CN106339247A true CN106339247A (zh) 2017-01-18

Family

ID=57838981

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610820878.9A Pending CN106339247A (zh) 2016-09-13 2016-09-13 一种动态链接库文件的加载系统及加载方法

Country Status (1)

Country Link
CN (1) CN106339247A (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106897588A (zh) * 2017-03-15 2017-06-27 北京深思数盾科技股份有限公司 一种标签函数的处理方法及装置
CN108255537A (zh) * 2017-06-20 2018-07-06 广州华多网络科技有限公司 一种dll基地址优化方法、系统及应用程序加载方法、系统
CN108446144A (zh) * 2018-03-12 2018-08-24 武汉斗鱼网络科技有限公司 一种应用程序启动方法、装置、终端及存储介质
CN109145638A (zh) * 2018-07-20 2019-01-04 武汉斗鱼网络科技有限公司 一种获取自加载模块函数的方法及装置
CN110633210A (zh) * 2019-08-23 2019-12-31 北京三快在线科技有限公司 文件执行方法、装置、存储介质和电子设备
CN110765027A (zh) * 2019-12-27 2020-02-07 中国人民解放军国防科技大学 一种pe文件地址定位系统
CN112631684A (zh) * 2020-12-30 2021-04-09 北京元心科技有限公司 可执行程序的运行方法、装置、电子设备及计算机存储介质
CN112948024A (zh) * 2021-04-15 2021-06-11 网易(杭州)网络有限公司 动态链接库的加载方法、装置、存储介质及电子设备
CN113742002A (zh) * 2021-09-10 2021-12-03 上海达梦数据库有限公司 一种动态库依赖关系获取方法、装置、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101908119A (zh) * 2010-08-12 2010-12-08 浙江中控软件技术有限公司 一种动态链接库dll文件的处理方法和装置
CN104679561A (zh) * 2015-02-15 2015-06-03 福建天晴数码有限公司 一种动态链接库文件加载的方法及系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101908119A (zh) * 2010-08-12 2010-12-08 浙江中控软件技术有限公司 一种动态链接库dll文件的处理方法和装置
CN104679561A (zh) * 2015-02-15 2015-06-03 福建天晴数码有限公司 一种动态链接库文件加载的方法及系统

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106897588B (zh) * 2017-03-15 2020-02-14 北京深思数盾科技股份有限公司 一种标签函数的处理方法及装置
CN106897588A (zh) * 2017-03-15 2017-06-27 北京深思数盾科技股份有限公司 一种标签函数的处理方法及装置
CN108255537A (zh) * 2017-06-20 2018-07-06 广州华多网络科技有限公司 一种dll基地址优化方法、系统及应用程序加载方法、系统
CN108446144A (zh) * 2018-03-12 2018-08-24 武汉斗鱼网络科技有限公司 一种应用程序启动方法、装置、终端及存储介质
CN108446144B (zh) * 2018-03-12 2021-07-23 武汉斗鱼网络科技有限公司 一种应用程序启动方法、装置、终端及存储介质
CN109145638A (zh) * 2018-07-20 2019-01-04 武汉斗鱼网络科技有限公司 一种获取自加载模块函数的方法及装置
CN110633210A (zh) * 2019-08-23 2019-12-31 北京三快在线科技有限公司 文件执行方法、装置、存储介质和电子设备
CN110765027A (zh) * 2019-12-27 2020-02-07 中国人民解放军国防科技大学 一种pe文件地址定位系统
CN110765027B (zh) * 2019-12-27 2020-04-10 中国人民解放军国防科技大学 一种pe文件地址定位系统
CN112631684A (zh) * 2020-12-30 2021-04-09 北京元心科技有限公司 可执行程序的运行方法、装置、电子设备及计算机存储介质
CN112631684B (zh) * 2020-12-30 2021-08-06 北京元心科技有限公司 可执行程序的运行方法、装置、电子设备及计算机存储介质
CN112948024A (zh) * 2021-04-15 2021-06-11 网易(杭州)网络有限公司 动态链接库的加载方法、装置、存储介质及电子设备
CN113742002A (zh) * 2021-09-10 2021-12-03 上海达梦数据库有限公司 一种动态库依赖关系获取方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
CN106339247A (zh) 一种动态链接库文件的加载系统及加载方法
CN106294134B (zh) 代码的崩溃定位方法及装置
CN104008060B (zh) 插件与宿主兼容性的检测方法及检测服务器
CN106295337A (zh) 用于检测恶意漏洞文件的方法、装置及终端
CN106874256A (zh) 识别领域命名实体的方法及装置
CN106201861A (zh) 一种代码质量的检测方法及装置
CN104268473B (zh) 应用程序检测方法和装置
CN110221968A (zh) 软件测试方法及相关产品
CN105808227A (zh) 一种美术资源文件检测方法和装置
CN110457628A (zh) 网页版本校验方法、装置、设备及存储介质
CN106648569A (zh) 目标序列化实现方法和装置
CN109582907A (zh) 网页资源完整性的校验方法、装置、设备及可读存储介质
CN109547363A (zh) 数据传输方法、装置、计算机设备和存储介质
CN110287696A (zh) 一种反弹shell进程的检测方法、装置和设备
CN106776105B (zh) 一种系统启动文件的校验及编译方法
CN108415722A (zh) 渠道应用的更新方法、装置、计算机设备和存储介质
CN107729897A (zh) 一种文本操作方法、装置及终端
CN106845278A (zh) 一种文件校验方法及系统
CN109902269A (zh) 一种文档显示方法、装置、电子设备和可读存储介质
CN113312322B (zh) Stdf文件的读写方法、介质、设备及装置
CN108038378A (zh) 云端检测函数被恶意修改的方法、终端设备及存储介质
CN109491884A (zh) 代码性能检测方法、装置、计算机设备和介质
CN108922607A (zh) 服务器、数据处理的方法及存储介质
CN110766402B (zh) 交易顺序依赖漏洞检测方法、系统、电子装置及存储介质
CN103559132A (zh) 一种java应用程序健壮性的检测方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20170118