能力值:
( LV12,RANK:460 )
|
-
-
2 楼
自己顶
OpenProcess(Process ID)--->Get Process Handle
;得到SYSTEM进程句柄
CreateToolhelp32Snapshot,Thread32First,Thread32Next-->get all threads list
;得到SYSTEM进程的全部线程ID
ZwOpenThread(Thread ID)-->Thread Handle
;根据线程ID得到所有线程的句柄
ZwQueryInformationThread(Thread Handle)-->Win32 Start Address
;得到每个进程的Start Address
ZwQuerySystemInformation
;得到所有内核模块列表以及他们的Base Address
;将所有线程的Start Address和每个内核模块的Base Address比较
;得到各个线程所属于的内核模块
;找到这些模块中某一个或多个(一般至少2个)属于xxxxxx.sys且该文件无法打开的
;即可知道该sys为病毒驱动
;或者可以从Base address开始的内存搜索特征码,但一般不能打开的就知道是病毒了
;接下来
ZwSuspendThread(Thread Handle)
;将该线程暂停,这样是为了停止其对服务项的保护
|
能力值:
( LV12,RANK:450 )
|
-
-
3 楼
说的挺好的,呵呵。不过OpenProcess、ZwOpenThread容易遭到hook就是了。
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
学习了 多谢大哥指点
|
|
|