CN110417931B - 域名解析记录获取方法、装置、计算机设备及存储介质 - Google Patents
域名解析记录获取方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN110417931B CN110417931B CN201910605866.8A CN201910605866A CN110417931B CN 110417931 B CN110417931 B CN 110417931B CN 201910605866 A CN201910605866 A CN 201910605866A CN 110417931 B CN110417931 B CN 110417931B
- Authority
- CN
- China
- Prior art keywords
- target
- function
- domain name
- name resolution
- file
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种域名解析记录获取方法、装置、计算机设备及存储介质,属于计算机技术领域。本发明通过将目标模块注入到具备发送域名解析请求功能的目标进程中,并将该目标文件与该目标进程中执行域名解析请求发送步骤的目标函数进行挂钩,使该目标文件可以对该目标函数进行监控,并获取该目标函数生成的域名解析记录,这种轻量级的域名解析记录获取方法,不依赖于网络过滤驱动,只需将目标文件注入到可以发送域名解析请求的进程中即可,不会占用过多的系统资源,也不需要对用户操作系统进行重启,可以提高检测异常域名解析请求的及时性,确保用户操作系统的环境安全。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种域名解析记录获取方法、装置、计算机设备及存储介质。
背景技术
域名解析服务是一项可以将域名解析为IP(Internet Protocol,网际协议)地址的服务,在网络安全领域中,可以通过获取域名解析记录,基于域名解析记录回溯到发起域名解析请求的进程,这些进程中可能包括病毒等异常进程,开发人员可以对这些进程进行分析找到其中的异常进程,对异常进程进行监控、清理等。
目前,在获取域名解析记录时,需要通过底层网络过滤驱动来进行,将获取到的数据传输至应用层,由应用层将数据输出到指定位置。这种域名解析记录获取方法,需要依赖网络过滤驱动,但是网络过滤驱动的安装方式较繁琐,且驱动安装后需要重启计算机设备后才能生效,对于一些不能随时重启的操作系统环境来说,会导致计算机设备不能及时检测到异常的域名解析请求,影响操作系统环境安全。
发明内容
本发明实施例提供了一种域名解析记录获取方法、装置、计算机设备及存储介质,可以解决相关技术中获取域名解析记录需依赖网络过滤驱动而导致的及时性差以及操作系统的安全问题。该技术方案如下:
一方面,提供了一种域名解析记录获取方法,该方法包括:
确定目标进程,该目标进程具有发送域名解析请求的能力;
将目标文件注入该目标进程,将该目标文件与该目标进程中的目标函数进行挂钩,该目标函数用于执行域名解析请求的发送步骤;
当该目标文件运行时,通过该目标文件监控到该目标函数执行该发送步骤时,通过该目标文件获取该目标函数所生成的解析记录数据。
在一种可能实现方式中,该确定目标进程包括:
获取全部进程的进程名称;
将进程名称中包含第一进程名称的进程作为备选进程,该包含第一进程名称的进程用于提供系统运行所必需的后台服务;
将该备选进程中包含目标命令行的备选进程确定为该目标进程。
在一种可能实现方式中,该将该备选进程中包含目标命令行的备选进程确定为该目标进程,包括:
获取该备选进程的进程标识;
通过该进程标识打开该备选进程,读取该备选进程的内存;
从该备选进程的内存中获取进程环境块基地址,基于进程环境块获取该目标命令行,将包含该目标命令行的备选进程确定为该目标进程。
在一种可能实现方式中,该将目标文件注入该目标进程包括:
通过进程写入函数将加载函数的内存地址写入该目标进程中,该加载函数用于提供将该目标文件注入该目标进程的功能;
通过该目标进程调用该加载函数,在该目标进程中加载该目标文件。
在一种可能实现方式中,该将该目标文件与该目标进程中的目标函数进行挂钩之前,该方法还包括:
获取该目标进程中的目标命令行对应的进程,从该目标命令行对应的进程中获取中间文件,该中间文件具有发送域名解析请求的能力;
将该中间文件中接口标识包括接口特征的接口确定为目标接口,该目标接口对应于多个函数;
将该多个函数中,满足目标条件的函数确定为目标函数。
在一种可能实现方式中,该通过该目标文件获取该目标函数所生成的解析记录数据,包括:
通过该目标函数接收域名解析服务器生成的域名解析结果,基于该域名解析结果生成解析记录数据;
通过该目标文件获取该解析记录数据。
在一种可能实现方式中,该通过该目标文件获取该目标函数所生成的解析记录数据之后,该方法还包括:
基于该解析记录数据,获取发起域名解析请求的至少一个进程的进程标识;
基于该至少一个进程的进程标识,获取该至少一个进程的进程信息。
在一种可能实现方式中,该将该目标文件与该目标进程中的目标函数进行挂钩之前,该方法还包括:
获取该目标进程中的目标命令行对应的进程,从该目标命令行对应的进程中获取中间文件,该中间文件具有发送域名解析请求的能力;
将该中间文件中接口标识包括接口特征的接口确定为目标接口,该目标接口对应于多个函数;
将该多个函数中,满足目标条件的函数确定为目标函数。
在一种可能实现方式中,该将该多个函数中,满足目标条件的函数确定为目标函数包括:
确定该目标函数对应的操作码,在不同操作系统环境中,该目标函数对应于不同的操作码;
基于该操作码,从该多个函数中确定该目标函数。
一方面,提供了一种域名解析记录获取装置,该装置包括:
进程确定模块,用于确定目标进程,该目标进程具有发送域名解析请求的能力;
挂钩模块,用于将目标文件注入该目标进程,将该目标文件与该目标进程中的目标函数进行挂钩,该目标函数用于执行域名解析请求的发送步骤;
数据获取模块,用于当该目标文件运行时,通过该目标文件监控到该目标函数执行该发送步骤时,通过该目标文件获取该目标函数所生成的解析记录数据。
在一种可能实现方式中,该进程确定模块用于:
获取全部进程的进程名称;
将进程名称中包含第一进程名称的进程作为备选进程,该包含第一进程名称的进程用于提供系统运行所必需的后台服务;
将该备选进程中包含目标命令行的备选进程确定为该目标进程。
在一种可能实现方式中,该进程确定模块用于:
获取该备选进程的进程标识;
通过该进程标识打开该备选进程,读取该备选进程的内存;
从该备选进程的内存中获取进程环境块基地址,基于进程环境块获取该目标命令行,将包含该目标命令行的备选进程确定为该目标进程。
在一种可能实现方式中,该挂钩模块用于:
通过进程写入函数将加载函数的内存地址写入该目标进程中,该加载函数用于提供将该目标文件注入该目标进程的功能;
通过该目标进程调用该加载函数,在该目标进程中加载该目标文件。
在一种可能实现方式中,该装置还包括:
文件获取模块,用于获取该目标进程中的目标命令行对应的进程,从该目标命令行对应的进程中获取中间文件,该中间文件具有发送域名解析请求的能力;
接口确定模块,用于将该中间文件中接口标识包括接口特征的接口确定为目标接口,该目标接口对应于多个函数;
函数确定模块,用于将该多个函数中,满足目标条件的函数确定为目标函数。
在一种可能实现方式中,该函数确定模块用于:
确定该目标函数对应的操作码,在不同操作系统环境中,该目标函数对应于不同的操作码;
基于该操作码,从该多个函数中确定该目标函数。
在一种可能实现方式中,该数据获取模块用于:
通过该目标函数接收域名解析服务器生成的域名解析结果,基于该域名解析结果生成解析记录数据;
通过该目标文件获取该解析记录数据。
在一种可能实现方式中,该装置还包括:
标识获取模块,用于基于该解析记录数据,获取发起域名解析请求的至少一个进程的进程标识;
信息获取模块,用于基于该至少一个进程的进程标识,获取该至少一个进程的进程信息。
一方面,提供了一种计算机设备,该计算机设备包括一个或多个处理器和一个或多个存储器,该一个或多个存储器中存储有至少一条程序代码,该至少一条程序代码由该一个或多个处理器加载并执行以实现该域名解析记录获取方法所执行的操作。
一方面,提供了一种计算机可读存储介质,该计算机可读存储介质中存储有至少一条程序代码,该至少一条程序代码由处理器加载并执行以实现该域名解析记录获取方法所执行的操作。
本发明实施例提供的技术方案,通过将目标模块注入到具备发送域名解析请求功能的目标进程中,并将该目标文件与该目标进程中执行域名解析请求发送步骤的目标函数进行挂钩,使该目标文件可以对该目标函数进行监控,并获取该目标函数生成的域名解析记录,这种轻量级的域名解析记录获取方法,不依赖于网络过滤驱动,只需将目标文件注入到可以发送域名解析请求的进程中即可,不会占用过多的系统资源,也不需要对用户操作系统进行重启,可以提高检测异常域名解析请求的及时性,确保用户操作系统的环境安全。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种域名解析记录获取方法的实施环境示意图;
图2是本发明实施例提供的一种域名解析记录获取方法的流程图;
图3是本发明实施例提供的一种函数列表示意图;
图4是本发明实施例提供的一种获取域名解析记录和进程信息的示意图;
图5是本发明实施例提供的一种安全软件的工作流程示意图;
图6是本发明实施例提供的一种域名解析结果示意图;
图7是本发明实施例提供的一种域名解析记录获取装置的结构示意图;
图8是本发明实施例提供的一种终端的结构示意图;
图9是本发明实施例提供的一种服务器的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
为了便于理解本发明实施例的技术过程,下面对本发明实施例所涉及的一些名词进行解释:
hook(挂钩):hook技术是一种用于改变程序执行结果的技术,计算机设备在对特定的系统事件进行hook后,该系统事件处理消息时,对该事件进行hook的程序就会收到系统的通知,这时程序就能在第一时间对该系统事件做出响应。hook技术可以应用于Windows操作系统中。
API(Application Programming Interface,应用程序编程接口):是一些预先定义的函数,使应用程序或开发人员基于某软件或硬件可以访问一组例程,而又无需访问源码,或理解内部工作机制的细节。
DLL(Dynamic Link Library,动态链接库)注入:将一个DLL文件放进某个进程所在的内存空间里,使该DLL文件成为该进程的一部分。
RPC(Remote Procedure Call Protocol,远程过程调用协议):它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议可以假定某些传输协议的存在,如TCP(Transmission Control Protocol,传输控制协议)、UDP(UserDatagram Protocol,用户数据报协议)或者命名管道,为通信程序之间携带信息数据。
域名服务器(Domain Name Server,DNS):是将域名转换为与之相对应的IP地址的服务器。
域名解析记录:一组用于记录计算机设备处理的域名解析请求的数据。计算机设备可以向域名服务器发送域名解析请求,并接收域名解析结果,该计算机设备接收到该域名解析结果后,可以对该域名解析结果进行存储,并生成一条域名解析记录。
图1是本发明实施例提供的一种域名解析记录获取方法的实施环境示意图,参见图1,该实施环境中包括至少一个计算机设备101和至少一个服务器102,该至少一个计算机设备可以包括用于发送域名解析请求和接收域名解析结果的计算机设备,该至少一个计算机设备101可以为笔记本电脑、智能手机等,本发明实施例对此不做限定,该至少一个服务器102可以包括用于进行域名解析的域名服务器,该至少一个服务器102可以为笔记本电脑、服务器等,本发明实施例对此不做限定。该至少一个计算机设备101与该至少一个服务器102之间可以通过有线或无线网络进行通信,以便由计算机设备101向服务器102发送域名解析请求,并接收服务器102返回的域名解析结果。
图2是本发明实施例提供的一种域名解析记录获取方法的流程图,参见图2,该方法具体可以包括以下步骤:
201、计算机设备确定目标进程,该目标进程具有发送域名解析请求的能力。
计算机设备在运行过程中会创建多个进程,以保证该计算机设备中的各个程序能够正常运行,其中一个进程中可以包括至少一个子进程,各个子进程可以对应于不同的功能。
该计算机设备获取具有发送域名解析请求能力的进程作为目标进程,具体可以包括以下步骤:
步骤一、该计算机设备获取全部进程的进程名称。
在一种可能实现方式中,该计算机设备可以获取操作系统中进程列表,该进程列表包括当前正在运行的全部进程的信息,读取该进程列表中各个进程的进程名称。其中,进程列表可以采用进程快照形式体现,具体地,该计算机设备可以通过snapshot(快照技术)中的CreateToolhelp32Snapshot函数,获取操作系统中的全部进程信息,来创建进程快照,该进程快照中可以包括各个进程的进程名称、PID(Process ID,进程标识)等信息,该计算机设备可以调用进程获取函数Process32First和Process32Next遍历进程快照,从而获取到各个进程的进程名称以及进程PID。
其中,进程标识PID可以用于唯一地标识一个进程,在进程创建时,该计算机设备自动为该进程分配一个唯一的进程标识,该进程终止后,该进程标识被收回。
步骤二、该计算机设备将进程名称中包含第一进程名称的进程作为备选进程,该包含第一进程名称的进程用于提供系统运行所必需的后台服务。
其中,进程名称可以用于标记一个或一类进程,同一个进程名称可以对应于至少一个进程。
该计算机设备可以基于进程名称对全部进程进行初步筛选,得到至少一个备选进程,保存该进程的进程标识,在本发明实施例中,该备选进程可以为svchost进程,该svchost进程是Windows操作系统中的一种系统进程,用于提供系统运行所必需的后台服务,一个svchost进程可以提供多种后台服务,例如,发送域名解析请求,图像捕获等服务,在Windows操作系统中多个svchost进程可以同时存在。
步骤三、该计算机设备将该备选进程中包含目标命令行的备选进程确定为该目标进程。
其中,一个进程对应一个命令行,每个命令行对应于不同的功能。在本发明实施例中,具有处理域名数据功能的命令行可以为-K NetWorkService。
在一种可能实现方式中,上述步骤三具体可以包括以下过程:首先,该计算机设备通过该进程标识打开该备选进程,读取该备选进程所占用的内存,具体地,该计算机设备可以调用进程打开函数OpenProcess打开各个进程标识所指示的备选进程,返回各个备选进程的句柄,其中,该句柄可以指示进程所占用的一块内存空间,该计算机设备可以基于各个备选进程的句柄访问各个备选进程所占用的内存空间。
然后,该计算机设备从该备选进程所占用的内存中获取进程环境块基地址,通过进程环境块判断该备选进程中是否包含目标命令行。具体地,该计算机设备可以访问该各个备选进程所占用的内存,调用系统文件ntdll的导出函数,来获取各个备选进程的进程环境块基地址,通过该进程环境块基地址调用进程环境块中的目标结构体,判断该备选进程中是否包含目标命令行,在本发明实施例中,该目标命令行可以为-K NetWorkService。
最后,该计算机设备将包含该目标命令行的备选进程确定为该目标进程,以确保该目标进程具备发送域名解析请求的能力,之后,该计算机设备返回该目标进程的进程标识,供后续目标文件注入使用。
需要说明的是,在不同的操作系统中,计算机设备调用的导出函数、目标结构体也不同,例如,在32位操作系统中,该计算机设备可以调用导出函数NtQueryInformationProcess,获取进程环境块基地址PebBaseAddress,通过进程该环境块中的目标结构体PRTL_USER_PROCESS_PARAMETERS,判断该备选进程中是否包含目标命令行,在64位操作系统中,该计算机设备可以调用导出函数NtWow64QueryInformationProcess64,获取进程环境块基地址Peb64,通过进程该环境块中的目标结构体_PROCESS_PARAMETERS,判断该备选进程中是否包含目标命令行。
202、该计算机设备将目标文件注入该目标进程。
其中,该目标文件用于获取域名解析记录,该目标文件中可以包括开发人员编写的一段程序代码,使该目标文件具备监控能力,以监控用于处理域名解析请求的函数,从而获取域名解析记录。在本发明实施例中,该目标文件可以为一个DLL文件。
在一种可能实现方式中,该计算机设备可以采用CreateRemoteThread(创建远程线程)方式将目标文件注入到目标进程,具体可以包括以下步骤:
步骤一、该计算机设备通过进程写入函数将加载函数的内存地址写入该目标进程中,该加载函数用于提供将该目标文件注入该目标进程的功能。
首先,该计算机设备基于该目标进程的进程标识,调用进程打开函数OpenProcess打开该目标进程,并返回该目标进程句柄,该计算机设备可以基于该目标进程句柄访问该目标进程所占用的内存,获取系统文件ntdll中函数LdrLoadDll的地址,其中,该函数LdrLoadDll可以用于加载目标文件。然后,该计算机设备在该目标文件中申请一块内存空间,用于存储该函数LdrLoadDll的地址、该目标文件的全路径以及加载函数RemoteThreadFunc。最后,该计算机设备调用进程写入函数WriteProcessMemory将该内存空间的地址写入目标进程。
步骤二、该计算机设备通过该目标进程调用该加载函数,在该目标进程中加载该目标文件。
该计算机设备可以通过创建用户线程的方式在该目标进程中加载该目标文件,完成该目标文件的注入。具体地,该计算机设备获取该目标进程的系统文件ntdll中用于创建用户线程的函数RtlCreateUserThread的地址,将该目标进程句柄、加载函数RemoteThreadFunc地址、目标进程的主线程标识等参数传入该RtlCreateUserThread函数,来创建一个用户线程,该用户线程运行时就可以调用该加载函数RemoteThreadFunc,由该加载函数RemoteThreadFunc触发函数LdrLoadDll执行加载目标文件的任务,从而完成远程线程注入,也即是完成DLL注入。
其中,该目标进程可以包括至少一个线程,该目标进程的主线程为该至少一个线程中与该目标进程同时创建的线程。
203、该计算机设备获取该目标进程中的目标函数,将该目标文件与该目标函数进行挂钩,该目标函数用于执行域名解析请求的发送步骤。
该计算机设备获取目标函数具体可以包括以下步骤:
步骤一、该计算机设备获取该目标进程中的目标命令行对应的进程,从该目标命令行对应的进程中获取中间文件,该中间文件具有发送域名解析请求的能力。
该计算机设备可以定位到该目标进程中用于处理域名解析请求的命令行,从该命令行指示的进程中获取Dnsrslvr.dll文件,该Dnsrslvr.dll文件中包括用于处理域名解析请求的接口。
步骤二、该计算机设备将该中间文件中接口标识包括接口特征的接口确定为目标接口,该目标接口对应于多个函数。
其中,该接口特征可以为一个指定接口标识,在本发明实施例中,该指定接口标识可以为45776b01-5956-4485-9f80-f428f7d60129,该指定接口标识所指示的接口为DnsResolver,该接口可以用于处理域名解析请求。
在一种可能实现方式中,该计算机设备可以通过暴力搜索,来获取目标接口DnsResolver。也即是,该计算机设备将该接口特征对应的第一字符串与各个接口标识对应的第二字符串中的字符逐一比较,具体地,该计算机设备将该第一字符串与一个第二字符串中的首字符进行比较,若相同,则继续比较下一个字符,若不相同,则停止本次比较,该计算机设备获取下一个第二字符串重复上述比较过程,直到获取到可以与该第一字符串匹配的第二字符串。该计算机设备将与该接口特征匹配的接口标识所指示的接口,确定为目标接口。
步骤三、该计算机设备将该多个函数中,满足目标条件的函数确定为目标函数。
在一种可能实现方式中,该计算机设备可以确定该目标函数对应的操作码,在不同操作系统环境中,该目标函数对应于不同的操作码,基于该操作码,从该多个函数中确定该目标函数。其中,该操作码是指计算机程序中所规定的指令序列号,一个操作码可以对应一条指令或一个功能函数。
在本发明实施例中,该目标函数可以为R_ResolverQuery函数,该R_ResolverQuery函数可以用于向域名解析服务器发送域名解析请求,以及接收该域名解析服务器返回的域名解析结果。在不同的操作系统环境中,该R_ResolverQuery函数对应于不同的操作码,例如,在XP操作系统中,该R_ResolverQuery函数对应的操作码为0x09,在Win7操作系统中,该R_ResolverQuery函数对应的操作码为0x07,在Win10操作系统中,该R_ResolverQuery函数对应的操作码为0x04。参见图3,图3是本发明实施例提供的一种函数列表示意图,该图3中操作码0x07对应的函数301即为该目标函数R_ResolverQuery。
在本发明实施例中,该计算机设备获取目标函数后,可以通过hook(挂钩)技术将该目标文件与该目标函数的地址进行挂钩,以实现对该目标函数的监控。其中,hook技术是一种消息处理机制,计算机设备可以通过hook技术监控系统或进程中的各种事件消息。
需要说明的是:上述步骤202和步骤203是将目标文件注入该目标进程,将该目标文件与该目标进程中的目标函数进行挂钩,该目标函数用于执行域名解析请求的发送步骤的过程。
204、当该目标文件运行时,该计算机设备通过该目标文件监控到该目标函数执行该发送步骤时,通过该目标文件获取该目标函数所生成的解析记录数据。
其中,该目标函数可以向域名解析服务器发送域名解析请求,并接收该域名服务器返回的域名解析结果。
在一种可能实现方式中,该计算机设备获取该解析记录数据具体可以包括以下步骤:
步骤一、该计算机设备通过该目标函数接收域名解析服务器生成的域名解析结果,基于该域名解析结果生成解析记录数据。
具体地,当需要进行域名解析时,计算机设备可以调用GethostByname,Getaddrinfo等系统API(Application Programming Interface,应用程序编程接口)发起域名解析请求,并将该域名解析请求通过RPC(Remote Procedure Call,远程进程调用)将该域名解析请求转发至目标进程svchost,该计算机设备获取到该目标进程svchost中的目标接口DnsResolver,将发起域名解析请求的进程与该目标接口进行绑定,绑定成功后,通过指定opnum(OperandNum,操作数)来调用目标函数R_ResolverQuery,通过该目标函数向域名解析服务器发送请求,并接收该域名解析服务器返回的域名解析结果。该计算机设备可以将接收到的域名解析结果存储在ppResultRecords结构体中,并生成一条域名解析记录。
步骤二、该计算机设备通过该目标文件获取该解析记录数据。
该目标文件与该目标函数进行挂钩后,即可对该目标函数中的事件消息监控,从而获得该目标函数在处理域名解析请求时所产生的域名解析记录。
本发明实施例提供的技术方案,通过将目标模块注入到具备发送域名解析请求功能的目标进程中,并将该目标文件与该目标进程中执行域名解析请求发送步骤的目标函数进行挂钩,使该目标文件可以对该目标函数进行监控,并获取该目标函数生成的域名解析记录,这种轻量级的域名解析记录获取方法,不依赖于网络过滤驱动,只需将目标文件注入到可以发送域名解析请求的进程中即可,不会占用过多的系统资源,也不需要对用户操作系统进行重启,可以提高检测异常域名解析请求的及时性,确保用户操作系统的环境安全。
上述实施例主要介绍了计算机设备进域名解析记录获取的过程,该计算机设备在获取到域名解析记录后,还可以基于该域名解析记录回溯到发起域名解析请求的进程,并将该进程的信息进行可视化输出。具体可以包括以下步骤:
步骤一、该计算机设备基于该解析记录数据,获取发起域名解析请求的至少一个进程的进程标识。
该计算机设备检测到任一进程发起域名解析请求后,需要通过远程进程调用将该域名解析请求转发至目标进程,由该目标进程执行后续的域名解析请求处理步骤。在通过远程进程调用进行转发之前,该进程需发起Bind(绑定)操作,使该计算机设备可以应用正确的接口来处理该域名解析请求。
在一种可能实现方式中,该计算机设备可以获取该目标进程中的Rpcrt4.dll文件的地址,该Rpcrt4.dll文件中包含I_RpcBindingInqLocalClientPID函数,该I_RpcBindingInqLocalClientPID函数可以获取发起绑定操作的进程所对应的进程标识,该计算机设备可以通过调用该I_RpcBindingInqLocalClientPID函数来获取发起域名解析请求的进程所对应的进程标识。
步骤二、该计算机设备基于该至少一个进程的进程标识,获取该至少一个进程的进程信息。
该计算机设备可以通过该进程标识,获取该进程的进程名称、进程MD5(Message-Digest Algorithm 5,消息摘要算法)码等信息。
需要说明的是,获取发起域名解析的进程的步骤可以与获取域名解析记录的步骤可以同步执行,也可以先执行获取域名解析记录的步骤,再执行获取发起域名解析的进程的步骤,也即是,该计算机设备在获取到一个域名解析结果后,生成一条域名解析记录,该计算机设备可以立即调用I_RpcBindingInqLocalClientPID函数获取发起域名解析的进程,也可以将获取的域名解析记录进行存储,当接收到目标指令时,再基于该域名解析记录,获取发起域名解析的进程。
参见图4,图4是本发明实施例提供的一种获取域名解析记录和进程信息的示意图,该目标进程的401中可以包括Dnsrslvr.dll文件402和Rpcrt4.dll文件403,该计算机设备可以通过接口标识搜索获取目标接口404,在该接口对应的函数列表405中,找到目标函数406,通过对该目标函数406进行挂钩,获取域名解析记录,该计算机设备还可以通过调用文件403中的I_RpcBindingInqLocalClientPID函数407,获取发起域名解析请求的进程,并将获取到的域名解析记录和发起域名解析请求的进程信息进行输出。
在一种可能实现方式中,该计算机设备在输出进程信息时,可以将该进程信息以json(JavaScript Object Notation,JS对象简谱)格式推送到后台服务器,存储到搜索服务器Elasticsearch中,通过Kibana平台将搜索服务器Elasticsearch的日志展示在网络界面中。这种可视化呈现方式可以便于安全分析人员汇总、分析和搜索重要数据日志。
在一种可能实现方式中,可以由网络采集工具或电脑管家等安全软件的启动,来触发获取域名解析记录的指令,计算机设备接收到该指令后执行上述域名解析记录的获取步骤与获取发起域名解析请求的进程的步骤。参见图5,图5是本发明实施例提供的一种安全软件的工作流程示意图。当网络采集工具或电脑管家等安全软件被启动后,该计算机设备自动完成目标文件的注入过程501,该目标文件注入后即可对该目标进程中的目标函数进行监控,该目标程序在域名解析请求处理过程502中,生成的域名解析记录可以由该目标文件获取,通过日志输出503在该安全软件的目标页面显示。
安全分析人员在分析安全警告事件时,可以通过日志定位到受害者机器,但是受限于受害者机器的运行环境,需要逐个排查风险,这种定位方式相对缓慢,效率较低。在本发明实施例中,通过启动电脑管家等安全软件触发该计算机设备获取域名解析记录以及发起域名解析的进程,并进行可视化显示,可以使得恶意软件和网络行为一一对应,若发现有恶意的域名解析请求时,直接回溯到对应的恶意进程,进行清理工作即可,无需做其他分析,简单高效。
具体地,以对域名www.AAAAA.com进行解析为例,对上述域名解析过程进行说明。具体可以包括以下过程:
首先,该计算机设备检测到进程发起对域名www.AAAAA.com的解析请求时,通过RPC将该解析请求转发至目标进程svchost。
然后,该计算机设备调用该目标进程svchost中的目标函数R_ResolverQuery向域名解析服务器发送对域名www.AAAAA.com进行解析的请求。具体参数如下:
R_ResolverQuery(0,”www.AAAAA.com”,1,0,0x40006000,ppResultRecords)
其中,用于存储域名解析结果的结构体ppResultRecords为空,即ppResultRecords=NULL。
最后,在域名服务器对该域名解析完成后,该计算机设备调用该目标函数R_ResolverQuery接收该域名解析服务器返回的域名解析结果。具体参数如下:
R_ResolverQuery(0,”www.AAAAA.com”,1,0,0x40000000,ppResultRecords)
该计算机设备将该域名解析结果存储在ppResultRecords结构体中,参见图6,图6是本发明实施例提供的一种域名解析结果示意图,图6中的(a)图包括需解析的域名601、域名类型602等信息,(b)图包括该域名的别名603、该别名的域名解析类型604、以及地址信息605,该地址信息字段中的具体内容如(c)图所示,该地址信息字段中的第一个字段对应的IP地址606即为域名解析结果。
图7是本发明实施例提供的一种域名解析记录获取装置的结构示意图,参见图7,该装置包括:
进程确定模块701,用于确定目标进程,该目标进程具有发送域名解析请求的能力;
挂钩模块702,用于将目标文件注入该目标进程,将该目标文件与该目标进程中的目标函数进行挂钩,该目标函数用于执行域名解析请求的发送步骤;
数据获取模块703,用于当该目标文件运行时,通过该目标文件监控到该目标函数执行该发送步骤时,通过该目标文件获取该目标函数所生成的解析记录数据。
在一种可能实现方式中,该进程确定模块701用于:
获取全部进程的进程名称;
将进程名称中包含第一进程名称的进程作为备选进程,该包含第一进程名称的进程用于提供系统运行所必需的后台服务;
将该备选进程中包含目标命令行的备选进程确定为该目标进程。
在一种可能实现方式中,该进程确定模块701用于:
获取该备选进程的进程标识;
通过该进程标识打开该备选进程,读取该备选进程的内存;
从该备选进程的内存中获取进程环境块基地址,基于进程环境块获取该目标命令行,将包含该目标命令行的备选进程确定为该目标进程。
在一种可能实现方式中,该挂钩模块702用于:
通过进程写入函数将加载函数的内存地址写入该目标进程中,该加载函数用于提供将该目标文件注入该目标进程的功能;
通过该目标进程调用该加载函数,在该目标进程中加载该目标文件。
在一种可能实现方式中,该装置还包括:
文件获取模块,用于获取该目标进程中的目标命令行对应的进程,从该目标命令行对应的进程中获取中间文件,该中间文件具有发送域名解析请求的能力;
接口确定模块,用于将该中间文件中接口标识包括接口特征的接口确定为目标接口,该目标接口对应于多个函数;
函数确定模块,用于将该多个函数中,满足目标条件的函数确定为目标函数。
在一种可能实现方式中,该函数确定模块用于:
确定该目标函数对应的操作码,在不同操作系统环境中,该目标函数对应于不同的操作码;
基于该操作码,从该多个函数中确定该目标函数。
在一种可能实现方式中,该数据获取模块703用于:
通过该目标函数接收域名解析服务器生成的域名解析结果,基于该域名解析结果生成解析记录数据;
通过该目标文件获取该解析记录数据。
在一种可能实现方式中,该装置还包括:
标识获取模块,用于基于该解析记录数据,获取发起域名解析请求的至少一个进程的进程标识;
信息获取模块,用于基于该至少一个进程的进程标识,获取该至少一个进程的进程信息。
上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,在此不再一一赘述。
需要说明的是:上述实施例提供的域名解析记录获取装置在域名解析记录获取时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的域名解析记录获取装置与域名解析记录获取方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
上述技术方案所提供的计算机设备可以实现为终端或服务器,例如,图8是本发明实施例提供的一种终端的结构示意图。该终端800可以是:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端800还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端800包括有:一个或多个处理器801和一个或多个存储器802。
处理器801可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器801可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器801也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器801可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器801还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器802可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器802还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器802中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器801所执行以实现本发明中方法实施例提供的域名解析记录获取方法。
在一些实施例中,终端800还可选包括有:外围设备接口803和至少一个外围设备。处理器801、存储器802和外围设备接口803之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口803相连。具体地,外围设备包括:射频电路804、显示屏805、摄像头806、音频电路807、定位组件808和电源809中的至少一种。
外围设备接口803可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器801和存储器802。在一些实施例中,处理器801、存储器802和外围设备接口803被集成在同一芯片或电路板上;在一些其他实施例中,处理器801、存储器802和外围设备接口803中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路804用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路804通过电磁信号与通信网络以及其他通信设备进行通信。射频电路804将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路804包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路804可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路804还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本发明对此不加以限定。
显示屏805用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏805是触摸显示屏时,显示屏805还具有采集在显示屏805的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器801进行处理。此时,显示屏805还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏805可以为一个,设置终端800的前面板;在另一些实施例中,显示屏805可以为至少两个,分别设置在终端800的不同表面或呈折叠设计;在再一些实施例中,显示屏805可以是柔性显示屏,设置在终端800的弯曲表面上或折叠面上。甚至,显示屏805还可以设置成非矩形的不规则图形,也即异形屏。显示屏805可以采用LCD(LiquidCrystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件806用于采集图像或视频。可选地,摄像头组件806包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件806还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路807可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器801进行处理,或者输入至射频电路804以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端800的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器801或射频电路804的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路807还可以包括耳机插孔。
定位组件808用于定位终端800的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件808可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。
电源809用于为终端800中的各个组件进行供电。电源809可以是交流电、直流电、一次性电池或可充电电池。当电源809包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端800还包括有一个或多个传感器810。该一个或多个传感器810包括但不限于:加速度传感器811、陀螺仪传感器812、压力传感器813、指纹传感器814、光学传感器815以及接近传感器816。
加速度传感器811可以检测以终端800建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器811可以用于检测重力加速度在三个坐标轴上的分量。处理器801可以根据加速度传感器811采集的重力加速度信号,控制显示屏805以横向视图或纵向视图进行用户界面的显示。加速度传感器811还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器812可以检测终端800的机体方向及转动角度,陀螺仪传感器812可以与加速度传感器811协同采集用户对终端800的3D动作。处理器801根据陀螺仪传感器812采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器813可以设置在终端800的侧边框和/或显示屏805的下层。当压力传感器813设置在终端800的侧边框时,可以检测用户对终端800的握持信号,由处理器801根据压力传感器813采集的握持信号进行左右手识别或快捷操作。当压力传感器813设置在显示屏805的下层时,由处理器801根据用户对显示屏805的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器814用于采集用户的指纹,由处理器801根据指纹传感器814采集到的指纹识别用户的身份,或者,由指纹传感器814根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器801授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器814可以被设置终端800的正面、背面或侧面。当终端800上设置有物理按键或厂商Logo时,指纹传感器814可以与物理按键或厂商Logo集成在一起。
光学传感器815用于采集环境光强度。在一个实施例中,处理器801可以根据光学传感器815采集的环境光强度,控制显示屏805的显示亮度。具体地,当环境光强度较高时,调高显示屏805的显示亮度;当环境光强度较低时,调低显示屏805的显示亮度。在另一个实施例中,处理器801还可以根据光学传感器815采集的环境光强度,动态调整摄像头组件806的拍摄参数。
接近传感器816,也称距离传感器,通常设置在终端800的前面板。接近传感器816用于采集用户与终端800的正面之间的距离。在一个实施例中,当接近传感器816检测到用户与终端800的正面之间的距离逐渐变小时,由处理器801控制显示屏805从亮屏状态切换为息屏状态;当接近传感器816检测到用户与终端800的正面之间的距离逐渐变大时,由处理器801控制显示屏805从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图8中示出的结构并不构成对终端800的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
图9是本发明实施例提供的一种服务器的结构示意图,该服务器900可因配置或性能不同而产生比较大的差异,可以包括一个或多个处理器(central processing units,CPU)901和一个或多个的存储器902,其中,该一个或多个存储器902中存储有至少一条程序代码,该至少一条程序代码由该一个或多个处理器901加载并执行以实现上述各个方法实施例提供的方法。当然,该服务器900还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器900还可以包括其他用于实现设备功能的部件,在此不做赘述。
在示例性实施例中,还提供了一种计算机可读存储介质,例如包括指令的存储器,上述指令可由处理器执行以完成上述实施例中的域名解析记录获取方法。例如,该计算机可读存储介质可以是只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)、磁带、软盘和光数据存储设备等。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
上述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种域名解析记录获取方法,其特征在于,所述方法包括:
确定目标进程,所述目标进程具有发送域名解析请求的能力;
基于所述目标进程的句柄,访问所述目标进程所占用的内存,以获取系统文件中LdrLoadDll函数的地址,所述LdrLoadDll函数用于加载目标文件,所述目标文件具备监控能力;
在所述目标文件中申请内存空间,所述内存空间用于存储所述LdrLoadDll函数的地址、所述目标文件的全路径和加载函数,所述加载函数用于提供将所述目标文件注入所述目标进程的功能;
基于进程写入函数,将所述内存空间的地址写入所述目标进程;
通过所述目标进程调用所述加载函数,由所述加载函数触发所述LdrLoadDll函数执行加载所述目标文件的任务,以将所述目标文件注入所述目标进程,以监控用于处理域名解析请求的函数;
获取所述目标进程中的目标命令行对应的进程,从所述目标命令行对应的进程中获取中间文件,所述中间文件具有发送域名解析请求的能力;将所述中间文件中接口标识包括接口特征的接口确定为目标接口,所述目标接口对应于多个函数;将所述多个函数中,满足目标条件的函数确定为所述目标函数;
将所述目标文件与所述目标进程中的目标函数进行挂钩,以实现对所述目标函数的监控,所述目标函数用于执行域名解析请求的发送步骤;
当所述目标文件运行时,通过所述目标文件监控到所述目标函数执行所述发送步骤时,通过所述目标文件获取所述目标函数所生成的解析记录数据。
2.根据权利要求1所述的方法,其特征在于,所述确定目标进程包括:
获取全部进程的进程名称;
将进程名称中包含第一进程名称的进程作为备选进程,所述包含第一进程名称的进程用于提供系统运行所必需的后台服务;
将所述备选进程中包含目标命令行的备选进程确定为所述目标进程。
3.根据权利要求2所述的方法,其特征在于,所述将所述备选进程中包含目标命令行的备选进程确定为所述目标进程,包括:
获取所述备选进程的进程标识;
通过所述进程标识打开所述备选进程,读取所述备选进程的内存;
从所述备选进程的内存中获取进程环境块基地址,基于进程环境块获取所述目标命令行,将包含所述目标命令行的备选进程确定为所述目标进程。
4.根据权利要求1所述的方法,其特征在于,所述通过所述目标文件获取所述目标函数所生成的解析记录数据,包括:
通过所述目标函数接收域名解析服务器生成的域名解析结果,基于所述域名解析结果生成解析记录数据;
通过所述目标文件获取所述解析记录数据。
5.根据权利要求1所述的方法,其特征在于,所述通过所述目标文件获取所述目标函数所生成的解析记录数据之后,所述方法还包括:
基于所述解析记录数据,获取发起域名解析请求的至少一个进程的进程标识;
基于所述至少一个进程的进程标识,获取所述至少一个进程的进程信息。
6.一种域名解析记录获取装置,其特征在于,所述装置包括:
进程确定模块,用于确定目标进程,所述目标进程具有发送域名解析请求的能力;
挂钩模块,用于将目标文件注入所述目标进程,所述目标文件具备监控能力,以监控用于处理域名解析请求的函数;
文件获取模块,用于获取所述目标进程中的目标命令行对应的进程,从所述目标命令行对应的进程中获取中间文件,所述中间文件具有发送域名解析请求的能力;
接口确定模块,用于将所述中间文件中接口标识包括接口特征的接口确定为目标接口,所述目标接口对应于多个函数;
函数确定模块,用于将所述多个函数中,满足目标条件的函数确定为所述目标函数;
所述挂钩模块,用于将所述目标文件与所述目标进程中的目标函数进行挂钩,以实现对所述目标函数的监控,所述目标函数用于执行域名解析请求的发送步骤;
数据获取模块,用于当所述目标文件运行时,通过所述目标文件监控到所述目标函数执行所述发送步骤时,通过所述目标文件获取所述目标函数所生成的解析记录数据;
其中,所述将目标文件注入所述目标进程包括:
基于所述目标进程的句柄,访问所述目标进程所占用的内存,以获取系统文件中LdrLoadDll函数的地址,所述LdrLoadDll函数用于加载所述目标文件;
在所述目标文件中申请内存空间,所述内存空间用于存储所述LdrLoadDll函数的地址、所述目标文件的全路径和加载函数,所述加载函数用于提供将所述目标文件注入所述目标进程的功能;
基于进程写入函数,将所述内存空间的地址写入所述目标进程;
通过所述目标进程调用所述加载函数,由所述加载函数触发所述LdrLoadDll函数执行加载所述目标文件的任务,以将所述目标文件注入所述目标进程。
7.根据权利要求6所述的装置,其特征在于,所述进程确定模块用于:获取全部进程的进程名称;将进程名称中包含第一进程名称的进程作为备选进程,所述包含第一进程名称的进程用于提供系统运行所必需的后台服务;将所述备选进程中包含目标命令行的备选进程确定为所述目标进程。
8.根据权利要求7所述的装置,其特征在于,所述进程确定模块用于:获取所述备选进程的进程标识;通过所述进程标识打开所述备选进程,读取所述备选进程的内存;从所述备选进程的内存中获取进程环境块基地址,基于进程环境块获取所述目标命令行,将包含所述目标命令行的备选进程确定为所述目标进程。
9.根据权利要求6所述的装置,其特征在于,所述数据获取模块用于:
通过所述目标函数接收域名解析服务器生成的域名解析结果,基于所述域名解析结果生成解析记录数据;通过所述目标文件获取所述解析记录数据。
10.根据权利要求6所述的装置,其特征在于,所述装置还包括:
标识获取模块,用于基于所述解析记录数据,获取发起域名解析请求的至少一个进程的进程标识;
信息获取模块,用于基于所述至少一个进程的进程标识,获取所述至少一个进程的进程信息。
11.一种计算机设备,其特征在于,所述计算机设备包括一个或多个处理器和一个或多个存储器,所述一个或多个存储器中存储有至少一条程序代码,所述程序代码由所述一个或多个处理器加载并执行以实现如权利要求1至权利要求5任一项所述的域名解析记录获取方法所执行的操作。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条程序代码,所述程序代码由处理器加载并执行以实现如权利要求1至权利要求5任一项所述的域名解析记录获取方法所执行的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910605866.8A CN110417931B (zh) | 2019-07-05 | 2019-07-05 | 域名解析记录获取方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910605866.8A CN110417931B (zh) | 2019-07-05 | 2019-07-05 | 域名解析记录获取方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110417931A CN110417931A (zh) | 2019-11-05 |
CN110417931B true CN110417931B (zh) | 2022-05-17 |
Family
ID=68360476
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910605866.8A Active CN110417931B (zh) | 2019-07-05 | 2019-07-05 | 域名解析记录获取方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110417931B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111556045B (zh) * | 2020-04-23 | 2022-02-15 | 亚信科技(成都)有限公司 | 一种恶意程序的检测方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101154185A (zh) * | 2007-08-27 | 2008-04-02 | 电子科技大学 | 软件运行时执行恢复与重放方法 |
CN105955762A (zh) * | 2016-04-19 | 2016-09-21 | 北京金山安全软件有限公司 | 一种注入动态链接库文件的方法、装置及电子设备 |
CN109426496A (zh) * | 2017-08-31 | 2019-03-05 | 武汉斗鱼网络科技有限公司 | 程序日志写入文件的方法、存储介质、电子设备及系统 |
-
2019
- 2019-07-05 CN CN201910605866.8A patent/CN110417931B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101154185A (zh) * | 2007-08-27 | 2008-04-02 | 电子科技大学 | 软件运行时执行恢复与重放方法 |
CN105955762A (zh) * | 2016-04-19 | 2016-09-21 | 北京金山安全软件有限公司 | 一种注入动态链接库文件的方法、装置及电子设备 |
CN109426496A (zh) * | 2017-08-31 | 2019-03-05 | 武汉斗鱼网络科技有限公司 | 程序日志写入文件的方法、存储介质、电子设备及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110417931A (zh) | 2019-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110308956B (zh) | 一种应用界面显示方法、装置及移动终端 | |
CN111191224B (zh) | 虚拟机检测的对抗方法、装置及计算机可读存储介质 | |
CN108491526B (zh) | 日志数据处理方法、装置、电子设备及存储介质 | |
CN108132790B (zh) | 检测无用代码的方法、装置及计算机存储介质 | |
CN110225048B (zh) | 数据传输方法、装置、第一终端及存储介质 | |
CN110851823B (zh) | 数据访问方法、装置、终端及存储介质 | |
CN111177013A (zh) | 日志数据获取方法、装置、计算机设备及存储介质 | |
CN109828915B (zh) | 一种调试应用程序的方法、装置、设备和存储介质 | |
CN111949680A (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
CN108229171B (zh) | 驱动程序处理方法、装置及存储介质 | |
CN113051015A (zh) | 页面渲染方法、装置、电子设备及存储介质 | |
CN111191227B (zh) | 阻止恶意代码执行的方法和装置 | |
CN114064450A (zh) | 应用程序测试方法、装置、电子设备及存储介质 | |
CN107943484B (zh) | 执行业务功能的方法和装置 | |
CN110417931B (zh) | 域名解析记录获取方法、装置、计算机设备及存储介质 | |
CN110502708B (zh) | 基于JSBridge进行通信的方法、装置及存储介质 | |
CN112612539A (zh) | 数据模型卸载方法、装置、电子设备及存储介质 | |
CN111881423A (zh) | 限制功能使用授权方法、装置、系统 | |
CN110366044B (zh) | 获取目标物的方法、装置和系统 | |
CN110825465A (zh) | 日志数据处理方法、装置、电子设备及存储介质 | |
CN110222506A (zh) | 快应用检测方法、装置、设备和存储介质 | |
CN111580892A (zh) | 一种业务组件调用的方法、装置、终端和存储介质 | |
CN112995587B (zh) | 电子设备监控方法、系统、计算机设备及存储介质 | |
CN113591090B (zh) | 程序漏洞的上报方法、装置、设备及存储介质 | |
CN112015612B (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 |