CN103888447A - 病毒的查杀方法及装置 - Google Patents
病毒的查杀方法及装置 Download PDFInfo
- Publication number
- CN103888447A CN103888447A CN201410075200.3A CN201410075200A CN103888447A CN 103888447 A CN103888447 A CN 103888447A CN 201410075200 A CN201410075200 A CN 201410075200A CN 103888447 A CN103888447 A CN 103888447A
- Authority
- CN
- China
- Prior art keywords
- thread
- module
- worker thread
- virus
- initial 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.)
- Granted
Links
Images
Landscapes
- Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)
- Medicines Containing Antibodies Or Antigens For Use As Internal Diagnostic Agents (AREA)
Abstract
本发明提供了一种病毒的查杀方法及装置,其中,病毒的查杀方法包括:获取当前内核所有工作线程的线程对象;对各个线程对象的内核栈进行回溯以获得对应工作线程的起始地址;根据对应工作线程的起始地址获得对应工作线程所在的模块路径;以及根据模块路径定位到病毒所启动的工作线程,挂起病毒所启动的工作线程,并清除病毒。本发明实施例的病毒的查杀方法及装置,通过获取线程对象,对获取到的各个线程对象的内核栈进行回溯获得对应工作线程的起始地址,根据起始地址获得对应工作线程所在的模块路径;并根据模块路径定位到病毒所启动的工作线程,从而可以检测出病毒线程,然后稳定地关闭病毒线程,大大提升了系统的安全性。
Description
技术领域
本发明涉及网络安全技术领域,特别涉及一种病毒的查杀方法及装置。
背景技术
随着信息技术的不断发展,计算机已经成为人们生活、工作和娱乐的一个重要组成部分,计算机网络也成为人际交往、沟通的一种主要方式。在计算机技术给人们带来方便的同时,计算机的安全问题也随之出现,其中一个重要的方面就是病毒的出现。
在2010年至2013年间,一种名为鬼影(TDSS)的rootkit病毒在全球大肆流行。该病毒通过在系统内核中启动一条线程,不断执行自身逻辑。普通安全软件很难检测发现,即使检测到了,将被病毒破坏的系统内核修复好后,正在运行的病毒线程又会重复感染系统内核。
然而,相关技术无法判断一条内核线程的是否是安全的,更未提供任何方式可以关闭或挂起病毒线程。因此,如何判断一条内核线程是病毒线程,且稳定地将其关闭或挂起,成为查杀该病毒所必须要解决的技术问题。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本发明的一个目的在于提出一种可以检测内核线程是否为病毒线程的病毒的查杀方法、装置及移动终端。
根据本发明实施例的病毒的查杀方法,包括:获取当前内核所有工作线程的线程对象;对各个线程对象的内核栈进行回溯以获得对应工作线程的起始地址;根据对应工作线程的起始地址获得对应工作线程所在的模块路径;以及根据模块路径定位到病毒所启动的工作线程,挂起病毒所启动的工作线程,并清除病毒。
根据本发明实施例的病毒的查杀方法,通过获取线程对象,对获取到的各个线程对象的内核栈进行回溯获得对应工作线程的起始地址,根据起始地址获得对应工作线程所在的模块路径;并根据模块路径定位到病毒所启动的工作线程,从而可以检测出病毒线程,然后稳定地关闭病毒线程,大大提升了系统的安全性。
根据本发明实施例的病毒的查杀装置,包括:对象获取模块,用于获取当前内核所有工作线程的线程对象;回溯模块,用于对各个线程对象的内核栈进行回溯以获得对应工作线程的起始地址;路径获得模块,用于根据对应工作线程的起始地址获得对应工作线程所在的模块路径;以及查杀模块,用于根据路径获得模块获得的模块路径定位到病毒所启动的工作线程,挂起病毒所启动的工作线程,并清除病毒。
根据本发明实施例的病毒的查杀装置,通过对象获取模块获取线程对象,通过回溯模块对获取到的各个线程对象的内核栈进行回溯获得对应工作线程的起始地址,通过路径获得模块根据起始地址获得对应工作线程所在的模块路径;并利用查杀模块根据模块路径定位到病毒所启动的工作线程,从而可以检测出病毒线程,然后稳定地关闭病毒线程,大大提升了系统的安全性。
根据本发明实施例的移动终端包括壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为移动终端的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于执行以下步骤:获取当前内核所有工作线程的线程对象;对各个线程对象的内核栈进行回溯以获得对应工作线程的起始地址;根据对应工作线程的起始地址获得对应工作线程所在的模块路径;以及根据模块路径定位到病毒所启动的工作线程,挂起病毒所启动的工作线程,并清除病毒。
根据本发明实施例的移动终端,通过获取线程对象,对获取到的各个线程对象的内核栈进行回溯获得对应工作线程的起始地址,根据起始地址获得对应工作线程所在的模块路径;并根据模块路径定位到病毒所启动的工作线程,从而可以检测出病毒线程,然后稳定地关闭病毒线程,大大提升了系统的安全性。
附图说明
图1是根据本发明一个实施例的病毒的查杀方法的流程图。
图2是根据本发明另一个实施例的病毒的查杀方法的流程图。
图3是根据本发明一个实施例的感染病毒后的内核信息示意图。
图4是根据本发明一个实施例的查杀病毒过程中的提示信息示意图。
图5是根据本发明一个实施例的查杀病毒后的内核信息示意图。
图6是根据本发明一个实施例的病毒的查杀装置的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面参考附图描述本发明实施例的病毒的查杀方法及装置。
图1为根据本发明一个实施例的病毒的查杀方法的流程图。如图1所示,该病毒的查杀方法包括以下步骤:
S101,获取当前内核所有工作线程的线程对象。
其中,当前内核的工作线程即内核工作线程,又称工作队列线程,是Windows操作系统上最底层的线程实现,常用于执行高优先级操作。
S102,对各个线程对象的内核栈进行回溯以获得对应工作线程的起始地址。
其中,对内核栈进行回溯是指:通过栈结构反向层层推导,最终获取保存在栈中某一层中的变量值。
在该实施例中,对各个线程对象的内核栈进行回溯以获得对应工作线程的起始地址可以包括:获得各个线程对象的栈基址,根据该栈基址通过内存特征回溯对应的内核栈,获得对应工作线程的起始地址。
S103,根据对应工作线程的起始地址获得对应工作线程所在的模块路径。
其中,工作线程所在的模块路径也就是内核驱动模块的路径。该步骤S103可以包括:获得内核模块列表及其对应的内存范围;将对应工作线程的起始地址与内存范围进行匹配,确定对应工作线程所在的模块路径。
S104,根据模块路径定位到病毒所启动的工作线程,挂起病毒所启动的工作线程,并清除病毒。
通过步骤S103获得各个工作线程所在的模块路径后,可以根据该模块路径找到病毒所启动的工作线程即病毒线程,由此可见,通过上述过程可以检测出一个线程是否为病毒线程,在确定病毒线程后,挂起该病毒线程,灭活病毒,继续后续操作,直到完全清除病毒。
其中,灭活病毒是指使病毒的执行逻辑终止运行。
上述病毒的查杀方法实施例,通过获取线程对象,对获取到的各个线程对象的内核栈进行回溯获得对应工作线程的起始地址,根据起始地址获得对应工作线程所在的模块路径;并根据模块路径定位到病毒所启动的工作线程,从而可以检测出病毒线程,然后稳定地关闭病毒线程,大大提升了系统的安全性。
为了更详细地描述病毒的查杀过程,下面以图2为例进行详细说明,如图2所示,该病毒的查杀方法包括:
S201,扫描所有的工作线程创建函数所在的内存。
其中,工作线程创建函数可以为ExQueueWorkItem函数,它会将一个工作项(包含线程起始地址等信息)插入到队列中,这个队列可以为ExWorkerQueue。
S202,根据内存定位出工作线程所在队列组成的数组的首地址。
由于所创建的工作线程均处于内存中,因此,通过扫描内存,可以获得工作线程所在队列组成的数组的首地址。在该实施例中,可以为定位由系统定义的四种工作线程所在队列组成的数组。
具体地,可以通过遍历该ExQueueWorkItem函数定位出队列的地址。
S203,根据首地址遍历各个队列,获得所有工作线程的线程对象。
S204,获得各个线程对象的栈基址。
S205,根据栈基址通过内存特征回溯对应的内核栈,获得对应工作线程的起始地址。
该步骤S205可以为从栈基址开始,通过指定内存特征进行栈回溯来获得对应内核线程的起始地址。
S206,获得内核模块列表及其对应的内存范围。
该步骤S206可以为使用系统信息查询函数(ZwQuerySystemInformation)来获得内核模块列表及对应的内存范围。
假设,在该实施例中的内核模块列表包含如表1所示的信息:
表1内核模块列表中的信息
模块 | 在内存中的起始地址 | 在内存中的范围 |
A.sys | S1 | L1 |
B.sys | S2 | L2 |
C.sys | S3 | L3 |
S207,将对应工作线程的起始地址与内存范围进行匹配,确定对应工作线程所在的模块路径。
假设,在该实施例中,获得的工作线程的起始地址为x,假定S2<x<S2+L2,即模块B.sys的“内核驱动模块路径”即为该“工作线程所在的模块路径”。
S208,根据模块路径确定出病毒所启动的工作线程,挂起该病毒所启动的工作线程,灭活并清除该病毒。
在该实施例中,通过模块路径可以确定出工作线程是否为病毒所启动的工作线程即病毒线程,然后可以调用线程挂起函数挂起病毒线程,灭活病毒,继续后续操作,直到完全清除病毒。
上述病毒的查杀方法实施例,通过具体的实现过程,描述了如何检测出一个线程是否为病毒线程的过程,并且可以稳定地关闭病毒线程,大大提升了系统的安全性。
上述病毒的查杀方法可用于查杀各种病毒,例如TDSS等病毒。
在本发明的一个实施例中,在TDSS病毒感染环境下,使用内核信息查看工具,可以发现当前内核的工作队列线程中存在一条模块未知的线程,如图3所示,如果不对其进行处理,病毒将始终清理不掉。
采用图1或图2所示的查杀方法后,会弹出病毒提示信息,如图4所示,点击“确定”键修复后,将会按上述内部实现原理检查及查杀异常工作线程,重启后,再次查看工作队列线程的状态,如图5所示,发现系统回复如初。
为了实现上述实施例,本发明还提出一种病毒的查杀装置。
图6是根据本发明一个实施例的病毒的查杀装置的结构示意图。
如图6所示,该病毒的查杀装置包括:对象获取模块61、回溯模块62、路径获得模块63和查杀模块64。
上述对象获取模块61用于获取当前内核所有工作线程的线程对象。具体地,对象获取模块61可以包括:扫描单元611、定位单元612和遍历单元613,其中:扫描单元611用于扫描所有的工作线程创建函数所在的内存;定位单元612用于根据扫描单元611扫描到的内存定位出工作线程所在队列组成的数组的首地址;遍历单元613用于根据定位单元定612位出的首地址遍历各个队列,获得所有工作线程的线程对象。
其中,当前内核的工作线程即内核工作线程,又称工作队列线程,是Windows操作系统上最底层的线程实现,常用于执行高优先级操作。
上述回溯模块62用于对各个线程对象的内核栈进行回溯以获得对应工作线程的起始地址。具体地,回溯模块62可以用于获得各个线程对象的栈基址,根据栈基址通过内存特征回溯对应的内核栈,获得对应工作线程的起始地址。
上述路径获得模块63用于根据对应工作线程的起始地址获得对应工作线程所在的模块路径。具体地,路径获得模块63可以包括:获得单元631和匹配确定单元632,其中:获得单元631可以用于获得内核模块列表及其对应的内存范围;匹配确定单元632可以用于将回溯模块62获得的对应工作线程的起始地址与获得单元631获得的内存范围进行匹配,确定对应工作线程所在的模块路径。
其中,获得单元631可以通过系统信息查询函数获得内核模块列表及其对应的内存范围。
上述查杀模块64用于根据路径获得模块获得的模块路径定位到病毒所启动的工作线程,挂起病毒所启动的工作线程,并清除病毒。具体地,查杀模块64可以根据模块路径判断对应的工作线程是否为病毒所启动的工作线程,若是,则调用线程挂起函数挂起病毒所启动的工作线程,灭活并清除病毒。
包含对象获取模块61、回溯模块62、路径获得模块63和查杀模块64的病毒的查杀装置查杀病毒的过程可参见图1和图2,此处不赘述。
上述病毒的查杀装置实施例,通过对象获取模块获取线程对象,通过回溯模块对获取到的各个线程对象的内核栈进行回溯获得对应工作线程的起始地址,通过路径获得模块根据起始地址获得对应工作线程所在的模块路径;并利用查杀模块根据模块路径定位到病毒所启动的工作线程,从而可以检测出病毒线程,然后稳定地关闭病毒线程,大大提升了系统的安全性。
为了实现上述实施例,本发明还提出一种移动终端,该移动终端包括壳体、处理器、存储器、电路板和电源电路,其中,上述电路板安置在上述壳体围成的空间内部,上述处理器和上述存储器设置在上述电路板上;上述电源电路,用于为上述移动终端的各个电路或器件供电;上述存储器用于存储可执行程序代码;上述处理器通过读取上述存储器中存储的可执行程序代码来运行与上述可执行程序代码对应的程序,以用于执行以下步骤:
S101’,获取当前内核所有工作线程的线程对象。
其中,当前内核的工作线程即内核工作线程,又称工作队列线程,是Windows操作系统上最底层的线程实现,常用于执行高优先级操作。
S102’,对各个线程对象的内核栈进行回溯以获得对应工作线程的起始地址。
其中,对内核栈进行回溯是指:通过栈结构反向层层推导,最终获取保存在栈中某一层中的变量值。
在该实施例中,对各个线程对象的内核栈进行回溯以获得对应工作线程的起始地址可以包括:获得各个线程对象的栈基址,根据该栈基址通过内存特征回溯对应的内核栈,获得对应工作线程的起始地址。
S103’,根据对应工作线程的起始地址获得对应工作线程所在的模块路径。
其中,工作线程所在的模块路径也就是内核驱动模块的路径。该步骤S103可以包括:获得内核模块列表及其对应的内存范围;将对应工作线程的起始地址与内存范围进行匹配,确定对应工作线程所在的模块路径。
S104’,根据模块路径定位到病毒所启动的工作线程,挂起病毒所启动的工作线程,并清除病毒。
通过步骤S103’获得各个工作线程所在的模块路径后,可以根据该模块路径找到病毒所启动的工作线程即病毒线程,由此可见,通过上述过程可以检测出一个线程是否为病毒线程,在确定病毒线程后,挂起该病毒线程,灭活病毒,继续后续操作,直到完全清除病毒。
其中,灭活病毒是指使病毒的执行逻辑终止运行。
上述移动终端实施例,通过获取线程对象,对获取到的各个线程对象的内核栈进行回溯获得对应工作线程的起始地址,根据起始地址获得对应工作线程所在的模块路径;并根据模块路径定位到病毒所启动的工作线程,从而可以检测出病毒线程,然后稳定地关闭病毒线程,大大提升了系统的安全性。
为了更详细地描述病毒的查杀过程,该处理器还用于执行以下步骤:
S201’,扫描所有的工作线程创建函数所在的内存;
其中,工作线程创建函数可以为ExQueueWorkItem函数,它会将一个工作项(包含线程起始地址等信息)插入到队列中,这个队列可以为ExWorkerQueue。
S202’,根据内存定位出工作线程所在队列组成的数组的首地址。
由于所创建的工作线程均处于内存中,因此,通过扫描内存,可以获得工作线程所在队列组成的数组的首地址。在该实施例中,可以为定位四种工作线程所在队列组成的数组。
具体地,可以通过遍历该ExQueueWorkItem函数定位出队列的地址。
S203’,根据首地址遍历各个队列,获得所有工作线程的线程对象。
S204’,获得各个线程对象的栈基址。
S205’,根据栈基址通过内存特征回溯对应的内核栈,获得对应工作线程的起始地址。
该步骤S205’可以为从栈基址开始,通过指定内存特征进行栈回溯来获得对应内核线程的起始地址。
S206’,获得内核模块列表及其对应的内存范围。
该步骤S206’可以为使用系统信息查询函数(ZwQuerySystemInformation)来获得内核模块列表及对应的内存范围。
假设,在该实施例中的内核模块列表包含如表1所示的信息:
表1内核模块列表中的信息
模块 | 在内存中的起始地址 | 在内存中的范围 |
A.sys | S1 | L1 |
B.sys | S2 | L2 |
C.sys | S3 | L3 |
S207’,将对应工作线程的起始地址与内存范围进行匹配,确定对应工作线程所在的模块路径。
假设,在该实施例中,获得的工作线程的起始地址为x,假定S3<x<S3+L3,即模块C.sys的“内核驱动模块路径”即为该“工作线程所在的模块路径”。
S208’,根据模块路径确定出病毒所启动的工作线程,挂起该病毒所启动的工作线程,灭活并清除该病毒。
在该实施例中,通过模块路径可以确定出工作线程是否为病毒所启动的工作线程即病毒线程,然后可以调用线程挂起函数挂起病毒线程,灭活病毒,继续后续操作,直到完全清除病毒。
上述移动终端实施例,通过具体的实现过程,描述了如何检测出一个线程是否为病毒线程的过程,并且可以稳定地关闭病毒线程,大大提升了系统的安全性。
上述移动终端可用于查杀各种病毒,例如TDSS等病毒。
在本发明的一个实施例中,在TDSS病毒感染环境下,使用内核信息查看工具,可以发现当前内核的工作队列线程中存在一条模块未知的线程,如图3所示,如果不对其进行处理,病毒将始终清理不掉。
在对病毒进行查杀的过程中,会弹出病毒提示信息,如图4所示,点击“确定”键修复后,将会按上述内部实现原理检查及查杀异常工作线程,重启后,再次查看工作队列线程的状态,如图5所示,发现系统回复如初。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同限定。
Claims (14)
1.一种病毒的查杀方法,其特征在于,包括:
获取当前内核所有工作线程的线程对象;
对各个线程对象的内核栈进行回溯以获得对应工作线程的起始地址;
根据所述对应工作线程的起始地址获得对应工作线程所在的模块路径;以及
根据所述模块路径定位到病毒所启动的工作线程,挂起病毒所启动的工作线程,并清除所述病毒。
2.根据权利要求1所述的方法,其特征在于,所述获取当前内核所有工作线程的线程对象包括:
扫描所有的工作线程创建函数所在的内存;
根据所述内存定位出所述工作线程所在队列组成的数组的首地址;以及
根据所述首地址遍历各个队列,获得所有工作线程的线程对象。
3.根据权利要求1所述的方法,其特征在于,所述对各个线程对象的内核栈进行回溯以获得对应工作线程的起始地址包括:
获得各个线程对象的栈基址,根据所述栈基址通过内存特征回溯对应的内核栈,获得对应工作线程的起始地址。
4.根据权利要求1所述的方法,其特征在于,所述根据所述对应工作线程的起始地址获得对应工作线程所在的模块路径包括:
获得内核模块列表及其对应的内存范围;
将对应工作线程的起始地址与所述内存范围进行匹配,确定对应工作线程所在的模块路径。
5.根据权利要求4所述的方法,其特征在于,所述获得内核模块列表及其对应的内存范围包括:
通过系统信息查询函数获得内核模块列表及其对应的内存范围。
6.根据权利要求1所述的方法,其特征在于,所述根据所述模块路径定位到病毒所启动的工作线程,挂起病毒所启动的工作线程,并清除所述病毒,包括:
根据所述模块路径判断对应的工作线程是否为病毒所启动的工作线程,若是,则挂起所述病毒所启动的工作线程,灭活并清除所述病毒。
7.根据权利要求6所述的方法,其特征在于,所述挂起所述病毒所启动的工作线程包括:
调用线程挂起函数挂起所述病毒所启动的工作线程。
8.一种病毒的查杀装置,其特征在于,包括:
对象获取模块,用于获取当前内核所有工作线程的线程对象;
回溯模块,用于对各个线程对象的内核栈进行回溯以获得对应工作线程的起始地址;
路径获得模块,用于根据所述对应工作线程的起始地址获得对应工作线程所在的模块路径;以及
查杀模块,用于根据所述路径获得模块获得的模块路径定位到病毒所启动的工作线程,挂起病毒所启动的工作线程,并清除所述病毒。
9.根据权利要求8所述的装置,其特征在于,所述对象获取模块,包括:
扫描单元,用于扫描所有的工作线程创建函数所在的内存;
定位单元,用于根据所述扫描单元扫描到的所述内存定位出所述工作线程所在队列组成的数组的首地址;以及
遍历单元,用于根据所述定位单元定位出的所述首地址遍历各个队列,获得所有工作线程的线程对象。
10.根据权利要求8所述的装置,其特征在于,所述回溯模块,具体用于:
获得各个线程对象的栈基址,根据所述栈基址通过内存特征回溯对应的内核栈,获得对应工作线程的起始地址。
11.根据权利要求8所述的装置,其特征在于,所述路径获得模块,包括:
获得单元,用于获得内核模块列表及其对应的内存范围;
匹配确定单元,用于将所述回溯模块获得的对应工作线程的起始地址与所述获得单元获得的内存范围进行匹配,确定对应工作线程所在的模块路径。
12.根据权利要求11所述的装置,其特征在于,所述获得单元,具体用于:
通过系统信息查询函数获得内核模块列表及其对应的内存范围。
13.根据权利要求8所述的装置,其特征在于,所述查杀模块,具体用于:
根据所述模块路径判断对应的工作线程是否为病毒所启动的工作线程,若是,则挂起所述病毒所启动的工作线程,灭活并清除所述病毒。
14.根据权利要求13所述的装置,其特征在于,所述查杀模块,具体用于:
调用线程挂起函数挂起所述病毒所启动的工作线程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410075200.3A CN103888447B (zh) | 2014-03-03 | 2014-03-03 | 病毒的查杀方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410075200.3A CN103888447B (zh) | 2014-03-03 | 2014-03-03 | 病毒的查杀方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103888447A true CN103888447A (zh) | 2014-06-25 |
CN103888447B CN103888447B (zh) | 2017-05-24 |
Family
ID=50957167
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410075200.3A Active CN103888447B (zh) | 2014-03-03 | 2014-03-03 | 病毒的查杀方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103888447B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105893102A (zh) * | 2016-06-29 | 2016-08-24 | 北京金山安全软件有限公司 | 一种反病毒安全软件触发蓝屏的处理方法、装置及电子设备 |
CN106022118A (zh) * | 2016-05-20 | 2016-10-12 | 北京金山安全软件有限公司 | 安全保护处理方法及装置 |
CN107122164A (zh) * | 2017-03-31 | 2017-09-01 | 腾讯科技(深圳)有限公司 | 函数地址获取及应用其的方法、装置、设备及存储介质 |
CN110502357A (zh) * | 2019-07-09 | 2019-11-26 | 北京字节跳动网络技术有限公司 | 一种栈回溯方法、装置、介质和设备 |
CN112925717A (zh) * | 2021-03-22 | 2021-06-08 | 北京字节跳动网络技术有限公司 | 用于确定调用栈栈帧的对象的方法、装置、设备和介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101382984A (zh) * | 2007-09-05 | 2009-03-11 | 江启煜 | 一种扫描检测广义未知病毒的方法 |
CN101587521A (zh) * | 2009-06-17 | 2009-11-25 | 北京东方微点信息技术有限责任公司 | 获取远程计算机信息的方法及装置 |
-
2014
- 2014-03-03 CN CN201410075200.3A patent/CN103888447B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101382984A (zh) * | 2007-09-05 | 2009-03-11 | 江启煜 | 一种扫描检测广义未知病毒的方法 |
CN101587521A (zh) * | 2009-06-17 | 2009-11-25 | 北京东方微点信息技术有限责任公司 | 获取远程计算机信息的方法及装置 |
Non-Patent Citations (2)
Title |
---|
左黎明等: "Windows Rootkit隐藏技术与综合检测方法", 《计算机工程》 * |
张德成: "进程隐藏技术及其在恶意代码检测中的应用", 《中国优秀硕士论文全文数据库信息科技辑》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106022118A (zh) * | 2016-05-20 | 2016-10-12 | 北京金山安全软件有限公司 | 安全保护处理方法及装置 |
CN105893102A (zh) * | 2016-06-29 | 2016-08-24 | 北京金山安全软件有限公司 | 一种反病毒安全软件触发蓝屏的处理方法、装置及电子设备 |
CN107122164A (zh) * | 2017-03-31 | 2017-09-01 | 腾讯科技(深圳)有限公司 | 函数地址获取及应用其的方法、装置、设备及存储介质 |
CN110502357A (zh) * | 2019-07-09 | 2019-11-26 | 北京字节跳动网络技术有限公司 | 一种栈回溯方法、装置、介质和设备 |
CN110502357B (zh) * | 2019-07-09 | 2023-01-17 | 北京字节跳动网络技术有限公司 | 一种栈回溯方法、装置、介质和设备 |
CN112925717A (zh) * | 2021-03-22 | 2021-06-08 | 北京字节跳动网络技术有限公司 | 用于确定调用栈栈帧的对象的方法、装置、设备和介质 |
CN112925717B (zh) * | 2021-03-22 | 2024-03-12 | 北京字节跳动网络技术有限公司 | 用于确定调用栈栈帧的对象的方法、装置、设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN103888447B (zh) | 2017-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103888447A (zh) | 病毒的查杀方法及装置 | |
EP2667314B1 (en) | System and method for detection and treatment of malware on data storage devices | |
CN107209836B (zh) | 用于更新文件的方法和系统 | |
US20160248788A1 (en) | Monitoring apparatus and method | |
KR20160125960A (ko) | 바이러스 처리 방법, 장치, 시스템 및 기기, 및 컴퓨터 저장 매체 | |
CN104468464A (zh) | 验证方法、装置和系统 | |
KR102132501B1 (ko) | 매립 디바이스에 대한 공격을 금지하기 위한 방법, 시스템 및 미디어 | |
CN103839007A (zh) | 一种检测异常线程的方法及系统 | |
CN104021342A (zh) | 应用程序的处理方法及装置 | |
CN105591778A (zh) | 一种分布式系统更新配置文件的方法及系统 | |
CN105814861A (zh) | 用于传输数据的设备和方法 | |
CN102902921A (zh) | 一种检测和清除计算机病毒的方法和装置 | |
CN110505246B (zh) | 客户端网络通讯检测方法、装置及存储介质 | |
CN106067906A (zh) | 一种重新连接的方法及监控设备 | |
CN104166609A (zh) | 一种计算机硬件设备的修复方法及修复装置 | |
US9379936B2 (en) | IP address managing method, program thereof, network communication device | |
JP2006040196A (ja) | ソフトウェア監視システムおよび監視方法 | |
CN103838782A (zh) | 一种实现文件扫描和保存的方法及装置 | |
CN104407808A (zh) | 写入数据的方法和装置 | |
CN103679024A (zh) | 病毒的处理方法及设备 | |
CN105989096A (zh) | 账号信息的清理方法及装置 | |
CN104123489A (zh) | 可执行程序的监控方法和装置 | |
CN104200164A (zh) | 一种加载器Loader病毒的查杀方法、装置及终端 | |
CN104572943A (zh) | 免安装程序清理方法及装置 | |
US8560650B2 (en) | Network device and method for setting parameters of the network device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20181213 Address after: 519030 Room 105-53811, No. 6 Baohua Road, Hengqin New District, Zhuhai City, Guangdong Province Patentee after: Zhuhai Seal Interest Technology Co., Ltd. Address before: 519070, six level 601F, 10 main building, science and technology road, Tangjia Bay Town, Zhuhai, Guangdong. Patentee before: Zhuhai Juntian Electronic Technology Co.,Ltd. |