CN107329901A - 数据包抓取方法、终端、服务器和存储介质 - Google Patents

数据包抓取方法、终端、服务器和存储介质 Download PDF

Info

Publication number
CN107329901A
CN107329901A CN201710641338.9A CN201710641338A CN107329901A CN 107329901 A CN107329901 A CN 107329901A CN 201710641338 A CN201710641338 A CN 201710641338A CN 107329901 A CN107329901 A CN 107329901A
Authority
CN
China
Prior art keywords
destination application
logic
packet
hook
crawl
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.)
Granted
Application number
CN201710641338.9A
Other languages
English (en)
Other versions
CN107329901B (zh
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201710641338.9A priority Critical patent/CN107329901B/zh
Publication of CN107329901A publication Critical patent/CN107329901A/zh
Application granted granted Critical
Publication of CN107329901B publication Critical patent/CN107329901B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • G06F11/3612Software analysis for verifying properties of programs by runtime analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明公开了一种数据包抓取方法、终端、服务器和存储介质,属于计算机网络技术领域。方法包括:在开启目标应用程序后,根据目标应用程序的动态加载库中的钩子Hook函数调用目标应用程序的算法逻辑;目标应用程序为根据目标安装包安装的应用程序,目标安装包的动态加载库中包括Hook函数和抓取逻辑;运行所述算法逻辑得到数据包,根据所述抓取逻辑抓取所述数据包。解决了相关技术中网络代理无法抓取环路数据包,也即抓取的数据包较为局限的问题;达到了在应用程序运行时,通过抓取逻辑直接抓取数据包,实现了可以抓取环路数据包,进而使得抓取得到的数据包更加全面的效果。

Description

数据包抓取方法、终端、服务器和存储介质
技术领域
本发明实施例涉及计算机网络技术领域,特别涉及一种数据包抓取方法、终端、服务器和存储介质。
背景技术
在分析应用程序时,往往需要抓取应用程序发送和接收的数据包,根据抓取的数据包来解析该应用程序的功能。
现有技术中通过网络代理来抓取数据包。具体的,该方法包括:网络代理发送获取请求至网卡,接收网卡返回的数据包,该获取请求用于请求获取来自目标应用程序或者发送至目标应用程序的数据包。
然而,对于应用程序中的环路数据包(环路是指发送方和接收方均是本机),由于此类数据包并不经过网卡,因此,上述方案中网络代理无法抓取到此类数据包,也即上述方案中抓取到的数据包较为局限。
发明内容
为了解决现有技术中存在的问题,本发明实施例提供了一种数据包抓取方法、终端、服务器和存储介质。技术方案如下:
根据本发明实施例的第一方面,提供一种数据包抓取方法,该方法包括:
在开启目标应用程序后,根据所述目标应用程序的动态加载库中的钩子Hook函数调用所述目标应用程序的算法逻辑;所述目标应用程序为根据目标安装包安装的应用程序,所述目标安装包的所述动态加载库中包括所述Hook函数和抓取逻辑;
运行所述算法逻辑得到数据包,根据所述抓取逻辑抓取所述数据包。
根据本发明实施例的第二方面,提供一种数据包抓取方法,该方法包括:
生成目标内容,所述目标内容包括钩子Hook函数以及抓取逻辑,所述Hook函数用于在目标应用程序运行时调用所述目标应用程序的算法逻辑,所述抓取逻辑用于抓取所述算法逻辑在运行过程中产生的数据包;
注入所述目标内容至所述目标应用程序的动态加载库。
根据本发明实施例的第三方面,提供了一种终端,所述终端包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如下操作:
在开启目标应用程序后,根据所述目标应用程序的动态加载库中的钩子Hook函数调用所述目标应用程序的算法逻辑;所述目标应用程序为根据目标安装包安装的应用程序,所述目标安装包的所述动态加载库中包括所述Hook函数和所述抓取逻辑;
运行所述算法逻辑得到数据包,根据所述抓取逻辑抓取所述数据包。
根据本发明实施例的第四方面,提供了一种生成服务器,所述生成服务器包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如下操作:
生成目标内容,所述目标内容包括钩子Hook函数以及抓取逻辑,所述Hook函数用于在目标应用程序运行时调用所述目标应用程序的算法逻辑,所述抓取逻辑用于抓取所述算法逻辑在运行过程中产生的数据包;
注入所述目标内容至所述目标应用程序的动态加载库。
根据本发明实施例的第五方面,提供了一种计算机存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如下操作:
在开启目标应用程序后,根据所述目标应用程序的动态加载库中的钩子Hook函数调用所述应用程序的算法逻辑;所述目标应用程序为根据目标安装包安装的应用程序,所述目标安装包的所述动态加载库中包括所述Hook函数和所述抓取逻辑;
运行所述算法逻辑得到数据包,根据所述抓取逻辑抓取所述数据包。
根据本发明实施例的第六方面,提供了一种计算机存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如下操作:
生成目标内容,所述目标内容包括钩子Hook函数以及抓取逻辑,所述Hook函数用于在目标应用程序运行时调用所述目标应用程序的算法逻辑,所述抓取逻辑用于抓取所述算法逻辑在运行过程中产生的数据包;
注入所述目标内容至所述目标应用程序的动态加载库。
本发明实施例提供的技术方案带来的有益效果是:
通过在应用程序运行时,通过Hook函数调用应用程序的算法逻辑,进而在算法逻辑运行时,通过动态加载库中的抓取逻辑抓取应用程序产生的数据包;解决了相关技术中网络代理无法抓取环路数据包,也即抓取的数据包较为局限的问题;达到了在应用程序运行时,通过抓取逻辑直接抓取数据包,实现了可以抓取环路数据包,进而使得抓取得到的数据包更加全面的效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明各个实施例所涉及的实施环境的示意图;
图2是本发明一个实施例提供的数据包抓取方法的流程图;
图3是本发明一个实施例提供的将目标内容注入至动态加载库的示意图;
图4是本发明一个实施例提供的终端抓取数据包的流程示意图;
图5是本发明一个实施例提供的数据包抓取装置的示意图;
图6是本发明一个实施例提供的数据包抓取装置的示意图;
图7是本发明一个实施例提供的终端的示意;
图8是本发明一个实施例提供的服务器的示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
首先为了便于理解,先对下述各个实施例所涉及的术语做简单介绍。
TCP(Transmission Control Protocol,传输控制协议)环路:指TCP数据的发送方和接收方均是本机,比如,发送方和接收方的IP(Internet Protocol,网络之间互连的协议)地址均为127.0.0.1。
抓包:存储TCP网络发送和接收的数据,记录到文件。
Dylib:IOS***中提供的一种动态库。
请参考图1,其示出了本发明各个实施例所涉及的实施环境的示意图,如图1所示,该实施环境可以包括生成服务器110、终端120和解析服务器130。
生成服务器110可以为一台服务器,也可以为有多台服务器组成的服务器集群。在下述各个实施例中,生成服务器110可以获取应用程序的安装包,并对该安装包重新封装,进而向终端120提供封装后的目标安装包。
终端120是指使用封闭***的终端,比如,该终端120可以为IOS***的终端。实际实现时,该终端120可以为智能手机,也可以为平板电脑或者台式电脑之类的终端。在下述实施例中,该终端120可以为越狱后的终端,也可以为非越狱的终端,并且,下述各个实施例提供的数据包抓取方法主要应用于非越狱的终端中。在下述各个实施例所述的场景中,终端120中可以安装有应用程序,比如,终端120获取到生成服务器110提供的目标安装包之后,根据获取到的目标安装包安装目标应用程序。
可选地,终端120可以通过有线或者无线网络与解析服务器130连接。
解析服务器130可以为一台服务器,也可以为有多台服务器组成的服务器集群。
需要说明是,图1仅以实施环境中包括上述几种设备来举例说明,可选地,该实施环境中还可以包括更多或者更少的设备,比如,该实施环境中还可以包括用于将生成服务器110生成的目标安装包提供给终端120的U盘。又比如,该实施环境中可以不包括解析服务器130。
请参考图2,其示出了本发明一个实施例提供的数据包抓取方法的方法流程图,本实施例以该数据包抓取方法用于图1所示的实施环境中来举例说明,如图2所示,该方法包括:
步骤201,生成服务器生成目标内容,目标内容包括Hook(钩子)函数以及抓取逻辑。
设计人员可以根据动态语言的编写方式编写该抓取逻辑,生成服务器接收编写的该抓取逻辑。其中,该抓取逻辑用于抓取应用程序在运行过程中产生的数据包,该抓取逻辑可以为一段程序。另外,本实施例中抓取逻辑能够实现抓取应用程序产生的数据包即可,对该抓取逻辑的实际实现并不做限定。
可选地,设计人员可以编写Hook函数,生成服务器可以接收到该Hook函数。其中,该Hook函数用于在目标应用程序运行时调用目标应用程序的算法逻辑。可选地,在抓取到数据包之后,还可以将抓取的数据发送至解析服务器,因此,在本实施例中Hook函数还用于在目标应用程序运行时调用预设逻辑,该预设逻辑包括目标应用程序的算法逻辑和发送逻辑,如发送逻辑为sendDataToSVR。可选地,目标应用程序的算法逻辑是指应用程序在运行过程中的逻辑,其由应用程序的安装包决定。
比如,下述示出了Hook函数所调用的预设逻辑的示意。
在上述代码中,self newMethod是指应用程序的安装包中的算法逻辑。
在生成服务器得到抓取逻辑和Hook函数之后,生成服务器可以将两者打包为dylib(动态库),该dylib中包括Hook函数和抓取逻辑。
步骤202,生成服务器注入目标内容至目标应用程序的动态加载库。
可选地,生成服务器可以先获取目标应用程序的安装包,通过yololib工具将dylib注入至目标应用程序的动态加载库中。比如,请参考图3,其示出了将目标内容注入至动态加载库时的一种可能的示意图。
当然实际实现时,生成服务器还可以通过其他注入方式将该dylib注入至目标应用程序的动态加载库中。
上述仅以将Hook函数和抓取逻辑同时注入至动态加载库中来举例说明,可选地,生成服务器还可以先将Hook函数注入至动态加载库后将抓取逻辑注入至动态加载库,或者,先将抓取逻辑注入至动态加载库后再将Hook函数注入是动态加载库。
可选地,动态加载库中注入目标内容后的安装包称为目标安装包。
步骤203,生成服务器向终端提供包括上述动态加载库的目标安装包。
可选地,本步骤可以包括如下几种可能的实现方式:
第一种,生成服务器可以通过U盘将上述目标安装包拷贝至终端中。比如,在生成服务器生成目标安装包之后,当测试人员在某一终端中对该应用程序做测试时,测试人员可以将生成服务器中的目标安装包拷贝至终端。
第二种,通过无线网络如蓝牙或者Wi-Fi(WIreless-Fidelity,无线保真)局域网将上述目标安装包发送至终端。比如,生成服务器可以通过Wi-Fi将该目标安装包通过社交应用程序发送至终端。
第三种,生成服务器通过电缆将上述目标安装包发送至终端。
步骤204,终端获取生成服务器提供的目标安装包,安装该目标安装包。
终端接收到上述目标安装包之后,可以安装该目标安装包。
步骤205,终端在开启目标应用程序后,根据目标应用程序的动态加载库中的Hook函数调用目标应用程序的算法逻辑。
在终端安装目标应用程序之后,终端可以运行该目标应用程序。并且,在本实施例中,由于目标应用程序的动态加载库中设置有用于在目标应用程序运行时调用目标应用程序的算法逻辑的Hook函数,因此,终端在开始运行目标应用程序之后,终端可以根据该Hook函数调用该算法逻辑。
可选地,终端在接收到开启目标应用程序的开启信号之后,根据该Hook函数调用该算法逻辑。比如,在安装目标应用程序之后,在接收到打开该目标应用程序的打开信号之后,根据该Hook函数调用该算法逻辑。又比如,当用户想要开启该目标应用程序时,用户可以触发桌面中展示的该目标应用程序的图标,相应的,终端可以接收到触发信号,并在接收到触发信号之后,根据该Hook函数调用该算法逻辑。
步骤206,终端运行算法逻辑得到数据包,根据抓取逻辑抓取数据包。
在调用目标应用程序的算法逻辑之后,终端即可运行调用的算法逻辑,并且,在运行算法逻辑的过程中,终端可以通过动态库中的抓取逻辑抓取目标应用程序在运行过程中产生的数据包。
可选地,抓取逻辑中包括需要抓取的内容,比如,抓取逻辑中包括在打开预设界面时抓取打开过程中的数据包,则终端可以根据该抓取逻辑的具体实现来抓取对应的安装包。
可选地,抓取逻辑抓取的数据包可以包括目标应用程序发送的环路数据包,也可以包括目标应用程序发送至终端外部的其他接收方的数据包。
步骤207,终端发送抓取的数据包至解析服务器。
可选地,在终端抓取到数据包之后,若需要借助解析服务器对抓取到的数据包做解析,则Hook调用时调用的逻辑中除了包括算法逻辑之外,还包括发送逻辑,进而在抓取到数据包之后,通过发送逻辑发送数据包至解析服务器。
可选地,假设目标内容为dylib,则请参考图4,其示出了终端抓取数据包的抓取过程的流程图。
需要说明的是,本步骤为可选步骤,实际实现时,终端抓取到数据包之后,还可以直接存储该数据包,或者直接解析该数据包,在此不再赘述。
步骤208,解析服务器接收终端发送的数据包。
解析服务器接收到终端发送的数据包之后,解析服务器即可根据设计需求执行对应的操作。
比如,当该方法用于解析应用程序的场景中时,解析服务器接收到数据包之后,解析服务器可以根据接收到的各个数据包解析目标应用程序是否出现异常。可选地,在解析结果为出现异常时,解析服务器可以发出提醒信息。当然,在解析结果为出现异常时,解析服务器还可以展示出现异常的原因。
在上述实施例的一个应用场景中,当某一应用程序出现异常,进而需要对该应用程序进行测试时,测试人员可以通过上述方案生成注入目标内容后的安装包,通过运行生成的安装包来抓取数据包,进而根据抓取的数据包进行测试。
在上述实施例的另一个应用场景中,当需要研究第三方应用程序的实现时,可以通过上述方案生成注入目标内容后的安装包,通过运行生成的安装包来抓取数据包,进而根据抓取的数据包来解析。
综上所述,本实施例提供的数据包抓取方法,通过在应用程序运行时,通过Hook函数调用应用程序的算法逻辑,进而在算法逻辑运行时,通过动态加载库中的抓取逻辑抓取应用程序产生的数据包;解决了相关技术中网络代理无法抓取环路数据包,也即抓取的数据包较为局限的问题;通过在应用程序运行时,通过Hook函数调用应用程序的算法逻辑,进而在算法逻辑运行时,通过动态加载库中的抓取逻辑抓取应用程序产生的数据包;解决了相关技术中网络代理无法抓取环路数据包,也即抓取的数据包较为局限的问题;达到了在应用程序运行时,通过抓取逻辑直接抓取数据包,实现了可以抓取环路数据包,进而使得抓取得到的数据包更加全面的效果。
需要补充说明的一点是,在上述实施例中,在将目标内容注入至动态数据库之后,生成服务器还可以执行如下步骤:
对动态数据库中注入目标内容后的安装包进行重签名,得到目标数据包。可选地,生成服务器可以通过企业证书对注入目标内容后的安装包进行重签名,或者,生成服务器还可以通过resign(重签名)APP工具对注入目标内容后的安装包进行重签名。当前,生成服务器还可以通过其他重签名方式对注入目标内容后的安装包进行重签名。
相应的,对于上述目标安装包,终端在开启应用程序之前,终端可以对目标安装包进行重签名认证,若认证通过,则终端对该应用程序放行,也即该应用程序正常运行;反之,若认证失败,则终端提示该应用程序开启失败。
需要说明的是,本实施例所说的在开启应用程序之前,对目标安装包进行重签名认证,包括:在安装应用程序时对目标安装包进行重签名认证,或者,在接收到开启应用程序的开启指令时,对目标安装包进行重签名认证。
通过使用企业证书对安装包进行签名,使得在终端中安装该目标安装包之后,终端可以对该目标应用程序放行,进而保证目标应用程序可以在终端中正常运行。
需要补充说明的另一点是,上述仅以抓取逻辑抓取所需的全部数据包为例,可选地,抓取逻辑还可以只抓取环路数据包,并继续通过网络代理来抓取经过网卡的数据包,进而之后,根据抓取逻辑抓取到的数据包以及网络带来抓取到的数据包来执行后续的操作,本实施例对此并不做限定。
请参考图5,其示出了本发明一个实施例提供的数据包抓取装置的结构示意图,如图5所示,该数据包抓取装置可以包括:调用模块510和抓取模块520。
调用模块510,用于在开启目标应用程序后,根据所述目标应用程序的动态加载库中的Hook函数调用所述目标应用程序的算法逻辑;所述目标应用程序为根据目标安装包安装的应用程序,所述目标安装包的所述动态加载库中包括所述Hook函数和抓取逻辑;
抓取模块520,用于运行所述算法逻辑得到数据包,根据所述抓取逻辑抓取所述数据包。
综上所述,本实施例提供的数据包抓取装置,通过在应用程序运行时,通过Hook函数调用应用程序的算法逻辑,进而在算法逻辑运行时,通过动态加载库中的抓取逻辑抓取应用程序产生的数据包;解决了相关技术中网络代理无法抓取环路数据包,也即抓取的数据包较为局限的问题;达到了在应用程序运行时,通过抓取逻辑直接抓取数据包,实现了可以抓取环路数据包,进而使得抓取得到的数据包更加全面的效果。
基于上述实施例提供的数据包抓取装置,可选的,所述装置还包括:
认证模块,用于在开启目标应用程序后,根据所述目标应用程序的动态加载库中的Hook函数调用预设逻辑之前,认证所述目标应用程序的签名,所述应用程序的签名为根据企业证书计算得到的签名;
所述调用模块510,还用于在认证模块签名认证通过之后,执行所述在开启目标应用程序后,根据所述目标应用程序的动态加载库中的Hook函数调用所述目标应用程序的算法逻辑的步骤。
通过使用企业证书对安装包进行签名,使得在终端中安装该目标安装包之后,终端可以对该目标应用程序放行,进而保证目标应用程序可以在终端中正常运行。
可选的,所述装置还包括:发送模块;
发送模块,用于发送所述数据包至解析服务器,所述解析服务器用于根据所述数据包解析所述目标应用程序。
请参考图6,其示出了本发明一个实施例提供的数据包抓取装置的结构示意图,如图6所示,该数据包抓取装置可以包括:生成模块610和注入模块620。
生成模块610,用于生成目标内容,所述目标内容包括Hook函数以及抓取逻辑,所述Hook函数用于在目标应用程序运行时调用所述目标应用程序的算法逻辑,所述抓取逻辑用于抓取所述算法逻辑在运行过程中产生的数据包;
注入模块620,用于注入所述目标内容至所述目标应用程序的动态加载库。
综上所述,本实施例提供的数据包抓取装置,通过生成包括Hook函数和抓取逻辑的目标内容,该Hook函数用于在程序运行时调用应用程序本身的算法逻辑,抓取逻辑用于抓取算法逻辑在运行过程中产生的数据包,并将目标内容注入至应用程序的动态加载库;使得在终端根据注入目标内容的动态加载库的安装包安装目标应用程序之后,在运行该目标应用程序之后,即可通过Hook函数和抓取逻辑来抓取数据包;解决了相关技术中网络代理无法抓取环路数据包,也即抓取的数据包较为局限的问题;达到了在应用程序运行时,通过抓取逻辑直接抓取数据包,实现了可以抓取环路数据包,进而使得抓取得到的数据包更加全面的效果。
基于上述实施例提供的数据包抓取装置,可选的,该装置还包括:签名模块;
所述签名模块,用于根据企业证书对包括所述动态加载库的安装包重新签名,得到签名后的目标安装包。
通过使用企业证书对安装包进行签名,使得在终端中安装该目标安装包之后,终端可以对该目标应用程序放行,进而保证目标应用程序可以在终端中正常运行。
需要说明的是:上述实施例提供的数据包抓取装置,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将服务器的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据包抓取装置和数据包抓取方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质可以是存储器中所包含的计算机可读存储介质;也可以是单独存在,未装配入终端或者服务器中的计算机可读存储介质。该计算机可读存储介质存储有至少一条指令、至少一段程序、代码集或指令集,并且,当该计算机可读存储介质用于终端中时,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如下操作:
在开启目标应用程序后,根据所述目标应用程序的动态加载库中的钩子Hook函数调用所述目标应用程序的算法逻辑;所述目标应用程序为根据目标安装包安装的应用程序,所述目标安装包的所述动态加载库中包括所述Hook函数和所述抓取逻辑;
运行所述算法逻辑得到数据包,根据所述抓取逻辑抓取所述数据包。
可选地,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如下操作:
认证所述目标应用程序的签名,所述应用程序的签名为根据企业证书计算得到的签名;
在签名认证通过之后,执行所述在开启目标应用程序后,根据所述目标应用程序的动态加载库中的Hook函数调用所述目标应用程序的算法逻辑的步骤。
可选地,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如下操作:
发送数据包至解析服务器,所述解析服务器用于根据所述数据包解析所述目标应用程序。
而当该计算机可读存储介质用于服务器中时,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如下操作:
生成目标内容,所述目标内容包括钩子Hook函数以及抓取逻辑,所述Hook函数用于在目标应用程序运行时调用所述目标应用程序的算法逻辑,所述抓取逻辑用于抓取所述算法逻辑在运行过程中产生的数据包;
注入所述目标内容至所述目标应用程序的动态加载库。
可选地,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如下操作:
根据企业证书对包括所述动态加载库的安装包重新签名,得到签名后的目标安装包。
图7其示出了本发明一个实施例提供的终端700的框图,该终端可以包括射频(RF,Radio Frequency)电路701、包括有一个或一个以上计算机可读存储介质的存储器702、输入单元703、显示单元704、传感器705、音频电路706、无线保真(WiFi,Wireless Fidelity)模块707、包括有一个或者一个以上处理核心的处理器708、以及电源709等部件。本领域技术人员可以理解,图7中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
RF电路701可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器708处理;另外,将涉及上行的数据发送给基站。通常,RF电路701包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM,Subscriber Identity Module)卡、收发信机、耦合器、低噪声放大器(LNA,Low Noise Amplifier)、双工器等。此外,RF电路701还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯***(GSM,Global System of Mobile communication)、通用分组无线服务(GPRS,GeneralPacket Radio Service)、码分多址(CDMA,Code Division Multiple Access)、宽带码分多址(WCDMA,Wideband Code Division Multiple Access)、长期演进(LTE,Long TermEvolution)、电子邮件、短消息服务(SMS,Short Messaging Service)等。
存储器702可用于存储软件程序以及模块,处理器708通过运行存储在存储器702的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器702可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器702可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器702还可以包括存储器控制器,以提供处理器708和输入单元703对存储器702的访问。
输入单元703可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,在一个具体的实施例中,输入单元703可包括触敏表面以及其他输入设备。触敏表面,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面上或在触敏表面附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器708,并能接收处理器708发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面。除了触敏表面,输入单元703还可以包括其他输入设备。具体地,其他输入设备可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元704可用于显示由用户输入的信息或提供给用户的信息以及终端的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元704可包括显示面板,可选的,可以采用液晶显示器(LCD,Liquid Crystal Display)、有机发光二极管(OLED,Organic Light-Emitting Diode)等形式来配置显示面板。进一步的,触敏表面可覆盖显示面板,当触敏表面检测到在其上或附近的触摸操作后,传送给处理器708以确定触摸事件的类型,随后处理器708根据触摸事件的类型在显示面板上提供相应的视觉输出。虽然在图7中,触敏表面与显示面板是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面与显示面板集成而实现输入和输出功能。
终端还可包括至少一种传感器705,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板的亮度,接近传感器可在终端移动到耳边时,关闭显示面板和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路706、扬声器,传声器可提供用户与终端之间的音频接口。音频电路706可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路706接收后转换为音频数据,再将音频数据输出处理器708处理后,经RF电路701以发送给比如另一终端,或者将音频数据输出至存储器702以便进一步处理。音频电路706还可能包括耳塞插孔,以提供外设耳机与终端的通信。
WiFi属于短距离无线传输技术,终端通过WiFi模块707可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图7示出了WiFi模块707,但是可以理解的是,其并不属于终端的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器708是终端的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器702内的软件程序和/或模块,以及调用存储在存储器702内的数据,执行终端的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器708可包括一个或多个处理核心;优选的,处理器708可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器708中。
终端还包括给各个部件供电的电源709(比如电池),优选的,电源可以通过电源管理***与处理器708逻辑相连,从而通过电源管理***实现管理充电、放电、以及功耗管理等功能。电源709还可以包括一个或一个以上的直流或交流电源、再充电***、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,终端还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,终端中的处理器708会运行存储在存储器702中的至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如下操作:
在开启目标应用程序后,根据所述目标应用程序的动态加载库中的钩子Hook函数调用所述目标应用程序的算法逻辑;所述目标应用程序为根据目标安装包安装的应用程序,所述目标安装包的所述动态加载库中包括所述Hook函数和所述抓取逻辑;
运行所述算法逻辑得到数据包,根据所述抓取逻辑抓取所述数据包。
可选地,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如下操作:
认证所述目标应用程序的签名,所述应用程序的签名为根据企业证书计算得到的签名;
在签名认证通过之后,执行所述在开启目标应用程序后,根据所述目标应用程序的动态加载库中的Hook函数调用所述应用程序的算法逻辑的步骤。
可选地,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如下操作:
发送所述数据包至解析服务器,所述解析服务器用于根据所述数据包解析所述目标应用程序。
请参考图8,其示出了本发明一个实施例提供的服务器的结构示意图。该服务器用于实施上述实施例中提供的关于服务器侧的数据包抓取方法。具体来讲:
所述服务器800包括中央处理单元(CPU)801、包括随机存取存储器(RAM)802和只读存储器(ROM)803的***存储器804,以及连接***存储器804和中央处理单元801的***总线805。所述服务器800还包括帮助计算机内的各个器件之间传输信息的基本输入/输出***(I/O***)806,和用于存储操作***813、应用程序814和其他程序模块815的大容量存储设备807。
所述基本输入/输出***806包括有用于显示信息的显示器808和用于用户输入信息的诸如鼠标、键盘之类的输入设备809。其中所述显示器808和输入设备809都通过连接到***总线805的输入输出控制器810连接到中央处理单元801。所述基本输入/输出***806还可以包括输入输出控制器810以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器810还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备807通过连接到***总线805的大容量存储控制器(未示出)连接到中央处理单元801。所述大容量存储设备807及其相关联的计算机可读介质为服务器800提供非易失性存储。也就是说,所述大容量存储设备807可以包括诸如硬盘或者CD-ROM驱动器之类的计算机可读介质(未示出)。
不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的***存储器804和大容量存储设备807可以统称为存储器。
根据本发明的各种实施例,所述服务器800还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器800可以通过连接在所述***总线805上的网络接口单元811连接到网络812,或者说,也可以使用网络接口单元811来连接到其他类型的网络或远程计算机***(未示出)。
所述存储器还包括至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如下操作:
生成目标内容,所述目标内容包括钩子Hook函数以及抓取逻辑,所述Hook函数用于在目标应用程序运行时调用所述目标应用程序的算法逻辑,所述抓取逻辑用于抓取所述算法逻辑在运行过程中产生的数据包;
注入所述目标内容至所述目标应用程序的动态加载库。
可选地,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如下操作:
根据企业证书对包括所述动态加载库的安装包重新签名,得到签名后的目标安装包。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”(“a”、“an”、“the”)旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (12)

1.一种应用数据包抓取方法,其特征在于,所述方法包括:
在开启目标应用程序后,根据所述目标应用程序的动态加载库中的钩子Hook函数调用所述目标应用程序的算法逻辑;所述目标应用程序为根据目标安装包安装的应用程序,所述目标安装包的所述动态加载库中包括所述Hook函数和抓取逻辑;
运行所述算法逻辑得到数据包,根据所述抓取逻辑抓取所述数据包。
2.根据权利要求1所述的方法,其特征在于,所述在开启目标应用程序后,根据所述目标应用程序的动态加载库中的钩子Hook函数调用所述目标应用程序的算法逻辑之前,所述方法还包括:
认证所述目标应用程序的签名,所述应用程序的签名为根据企业证书计算得到的签名;
在签名认证通过之后,执行所述在开启目标应用程序后,根据所述目标应用程序的动态加载库中的钩子Hook函数调用所述目标应用程序的算法逻辑的步骤。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
发送所述数据包至解析服务器,所述解析服务器用于根据所述数据包解析所述目标应用程序。
4.一种数据包抓取方法,其特征在于,所述方法包括:
生成目标内容,所述目标内容包括钩子Hook函数以及抓取逻辑,所述Hook函数用于在目标应用程序运行时调用所述目标应用程序的算法逻辑,所述抓取逻辑用于抓取所述算法逻辑在运行过程中产生的数据包;
注入所述目标内容至所述目标应用程序的动态加载库。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
根据企业证书对包括所述动态加载库的安装包重新签名,得到签名后的目标安装包。
6.一种终端,其特征在于,所述终端包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如下操作:
在开启目标应用程序后,根据所述目标应用程序的动态加载库中的钩子Hook函数调用所述目标应用程序的算法逻辑;所述目标应用程序为根据目标安装包安装的应用程序,所述目标安装包的所述动态加载库中包括所述Hook函数和抓取逻辑;
运行所述算法逻辑得到数据包,根据所述抓取逻辑抓取所述数据包。
7.根据权利要求6所述的终端,其特征在于,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如下操作:
认证所述目标应用程序的签名,所述应用程序的签名为根据企业证书计算得到的签名;
在签名认证通过之后,执行所述在开启目标应用程序后,根据所述目标应用程序的动态加载库中的钩子Hook函数调用所述目标应用程序的算法逻辑的步骤。
8.根据权利要求6所述的终端,其特征在于,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如下操作:
发送所述数据包至解析服务器,所述解析服务器用于根据所述数据包解析所述目标应用程序。
9.一种生成服务器,其特征在于,所述生成服务器包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如下操作:
生成目标内容,所述目标内容包括钩子Hook函数以及抓取逻辑,所述Hook函数用于在目标应用程序运行时调用所述目标应用程序的算法逻辑,所述抓取逻辑用于抓取所述算法逻辑在运行过程中产生的数据包;
注入所述目标内容至所述目标应用程序的动态加载库。
10.根据权利要求9所述的生成服务器,其特征在于,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如下操作:
根据企业证书对包括所述动态加载库的安装包重新签名,得到签名后的目标安装包。
11.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如下操作:
在开启目标应用程序后,根据所述目标应用程序的动态加载库中的钩子Hook函数调用所述目标应用程序的算法逻辑;所述目标应用程序为根据目标安装包安装的应用程序,所述目标安装包的所述动态加载库中包括所述Hook函数和抓取逻辑;
运行所述算法逻辑得到数据包,根据所述抓取逻辑抓取所述数据包。
12.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如下操作:
生成目标内容,所述目标内容包括钩子Hook函数以及抓取逻辑,所述Hook函数用于在目标应用程序运行时调用所述目标应用程序的算法逻辑,所述抓取逻辑用于抓取所述算法逻辑在运行过程中产生的数据包;
注入所述目标内容至所述目标应用程序的动态加载库。
CN201710641338.9A 2017-07-31 2017-07-31 数据包抓取方法、终端、服务器和存储介质 Active CN107329901B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710641338.9A CN107329901B (zh) 2017-07-31 2017-07-31 数据包抓取方法、终端、服务器和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710641338.9A CN107329901B (zh) 2017-07-31 2017-07-31 数据包抓取方法、终端、服务器和存储介质

Publications (2)

Publication Number Publication Date
CN107329901A true CN107329901A (zh) 2017-11-07
CN107329901B CN107329901B (zh) 2021-09-28

Family

ID=60200447

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710641338.9A Active CN107329901B (zh) 2017-07-31 2017-07-31 数据包抓取方法、终端、服务器和存储介质

Country Status (1)

Country Link
CN (1) CN107329901B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109995534A (zh) * 2017-12-29 2019-07-09 北京京东尚科信息技术有限公司 一种对应用程序进行安全认证的方法和装置
CN110297643A (zh) * 2019-06-04 2019-10-01 平安科技(深圳)有限公司 应用程序注入动态库的方法、装置、设备及存储介质
CN111147445A (zh) * 2019-11-29 2020-05-12 杭州数梦工场科技有限公司 抓包方法、装置、***及存储介质
CN111752636A (zh) * 2020-06-23 2020-10-09 网易传媒科技(北京)有限公司 数据抓取方法及装置、电子设备、存储介质
CN112084494A (zh) * 2020-09-21 2020-12-15 百度在线网络技术(北京)有限公司 敏感信息检测方法、装置、设备以及存储介质
CN113489705A (zh) * 2021-06-30 2021-10-08 ***股份有限公司 一种抓取应用程序http通讯数据的方法、装置存储介质
CN113535592A (zh) * 2021-09-15 2021-10-22 广州锦行网络科技有限公司 对dpdk应用程序抓包的方法、装置、设备及存储介质
CN113535593A (zh) * 2021-09-15 2021-10-22 广州锦行网络科技有限公司 应用程序的抓包方法、装置、电子设备和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040202186A1 (en) * 2003-04-14 2004-10-14 Nec Corporation ATM bridge device and method for detecting loop in ATM bridge transmission
CN103957214A (zh) * 2014-05-06 2014-07-30 重庆邮电大学 一种教学用计算机网络数据包抓取方法
CN104156481A (zh) * 2014-08-26 2014-11-19 北京软安科技有限公司 基于动态链接库注入的Android加密通信检测装置和方法
CN106126290A (zh) * 2016-06-27 2016-11-16 微梦创科网络科技(中国)有限公司 应用程序优化方法、装置及***
CN106681923A (zh) * 2016-12-29 2017-05-17 广州华多网络科技有限公司 一种软件测评方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040202186A1 (en) * 2003-04-14 2004-10-14 Nec Corporation ATM bridge device and method for detecting loop in ATM bridge transmission
CN103957214A (zh) * 2014-05-06 2014-07-30 重庆邮电大学 一种教学用计算机网络数据包抓取方法
CN104156481A (zh) * 2014-08-26 2014-11-19 北京软安科技有限公司 基于动态链接库注入的Android加密通信检测装置和方法
CN106126290A (zh) * 2016-06-27 2016-11-16 微梦创科网络科技(中国)有限公司 应用程序优化方法、装置及***
CN106681923A (zh) * 2016-12-29 2017-05-17 广州华多网络科技有限公司 一种软件测评方法及装置

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109995534A (zh) * 2017-12-29 2019-07-09 北京京东尚科信息技术有限公司 一种对应用程序进行安全认证的方法和装置
CN109995534B (zh) * 2017-12-29 2022-04-26 北京京东尚科信息技术有限公司 一种对应用程序进行安全认证的方法和装置
CN110297643A (zh) * 2019-06-04 2019-10-01 平安科技(深圳)有限公司 应用程序注入动态库的方法、装置、设备及存储介质
CN110297643B (zh) * 2019-06-04 2024-01-30 平安科技(深圳)有限公司 应用程序注入动态库的方法、装置、设备及存储介质
CN111147445A (zh) * 2019-11-29 2020-05-12 杭州数梦工场科技有限公司 抓包方法、装置、***及存储介质
CN111147445B (zh) * 2019-11-29 2022-05-31 杭州数梦工场科技有限公司 抓包方法、装置、***及存储介质
CN111752636A (zh) * 2020-06-23 2020-10-09 网易传媒科技(北京)有限公司 数据抓取方法及装置、电子设备、存储介质
CN111752636B (zh) * 2020-06-23 2024-06-18 网易传媒科技(北京)有限公司 数据抓取方法及装置、电子设备、存储介质
CN112084494A (zh) * 2020-09-21 2020-12-15 百度在线网络技术(北京)有限公司 敏感信息检测方法、装置、设备以及存储介质
CN113489705A (zh) * 2021-06-30 2021-10-08 ***股份有限公司 一种抓取应用程序http通讯数据的方法、装置存储介质
CN113535592A (zh) * 2021-09-15 2021-10-22 广州锦行网络科技有限公司 对dpdk应用程序抓包的方法、装置、设备及存储介质
CN113535593A (zh) * 2021-09-15 2021-10-22 广州锦行网络科技有限公司 应用程序的抓包方法、装置、电子设备和存储介质

Also Published As

Publication number Publication date
CN107329901B (zh) 2021-09-28

Similar Documents

Publication Publication Date Title
CN107329901A (zh) 数据包抓取方法、终端、服务器和存储介质
CN104519485B (zh) 一种终端之间的通信方法、装置和***
CN106412093B (zh) 一种数据的上传方法、装置及***
CN103455603B (zh) 网页内容缓存、网页加载方法、装置及终端设备
CN107276789A (zh) 日志上传方法、装置及计算机可读存储介质
CN104902531B (zh) 连接网络的方法、应用认证服务器、终端及路由器
CN104238893B (zh) 一种对视频预览图片进行显示的方法和装置
CN104102500B (zh) 一种应用程序的进程启动方法及计算机***
CN105389259B (zh) 一种进行应用程序测试的方法、装置及***
CN107357725A (zh) 应用测试方法及装置
CN104580177B (zh) 资源提供方法、装置和***
CN107204989A (zh) 广告拦截方法、终端、服务器和存储介质
CN106708554A (zh) 程序运行方法及装置
CN109309696A (zh) 文件夹发送方法、发送方、接收方以及存储介质
CN107590397A (zh) 一种显示内嵌网页的方法和装置
CN107219951A (zh) 触控屏控制方法、装置、存储介质及终端设备
CN107276602A (zh) 射频干扰处理方法、装置、存储介质及终端
CN108090345A (zh) linux***外部命令执行方法及装置
CN106709340A (zh) 病毒查杀方法及装置
CN106708555B (zh) 一种加载插件的方法和装置
CN106681884B (zh) 一种***调用的监控方法和装置
CN103533139B (zh) 多卡用户的数据管理方法、装置及移动终端
CN107423050A (zh) 一种穿透操作的方法和装置
CN105302589B (zh) 一种获取卸载信息的方法及装置
CN106817489A (zh) 消息的提示方法及移动终端

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant