通过搜索内存检测隐藏进程遇到的重启后内存数据残留问题。
本帖最后由 ineverland 于 2010-3-15 21:42 编辑今天把搜索内存检测进程的程序运行了一下想看看效果,先前因为别的程序重启了一下,结果查看进程列表时候发现有重启前的进程。估计是重启后物理内存里还残留着上次系统里数据。这原本就是一个真真正正的EPROCESS,所以我没办法区别这个进程是被隐藏的还是上次系统残留的,感觉像看到“前生”一样呵呵。高手们说说怎么解决这个问题。 检测一下ObjectTable是否为NULL:
lkd> dt_eprocess
nt!_EPROCESS
+0x000 Pcb : _KPROCESS
+0x06c ProcessLock : _EX_PUSH_LOCK
+0x070 CreateTime : _LARGE_INTEGER
+0x078 ExitTime : _LARGE_INTEGER
+0x080 RundownProtect : _EX_RUNDOWN_REF
+0x084 UniqueProcessId: Ptr32 Void
+0x088 ActiveProcessLinks : _LIST_ENTRY
+0x090 QuotaUsage : Uint4B
+0x09c QuotaPeak : Uint4B
+0x0a8 CommitCharge : Uint4B
+0x0ac PeakVirtualSize: Uint4B
+0x0b0 VirtualSize : Uint4B
+0x0b4 SessionProcessLinks : _LIST_ENTRY
+0x0bc DebugPort : Ptr32 Void
+0x0c0 ExceptionPort : Ptr32 Void
+0x0c4 ObjectTable : Ptr32 _HANDLE_TABLE 5年后再次回复这个帖子。
我觉得出现这种情况,唯一的可能是你把一些不是EPROCESS的地址给误判为EPROCESS了。
不太可能说重启后,还有重启前系统残留的EPROCESS。
页:
[1]