ineverland 发表于 2010-3-15 19:09:45

通过搜索内存检测隐藏进程遇到的重启后内存数据残留问题。

本帖最后由 ineverland 于 2010-3-15 21:42 编辑

今天把搜索内存检测进程的程序运行了一下想看看效果,先前因为别的程序重启了一下,结果查看进程列表时候发现有重启前的进程。估计是重启后物理内存里还残留着上次系统里数据。这原本就是一个真真正正的EPROCESS,所以我没办法区别这个进程是被隐藏的还是上次系统残留的,感觉像看到“前生”一样呵呵。高手们说说怎么解决这个问题。

HoviDelphic 发表于 2010-4-3 23:48:08

检测一下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

Tesla.Angela 发表于 2015-9-29 11:07:40

5年后再次回复这个帖子。
我觉得出现这种情况,唯一的可能是你把一些不是EPROCESS的地址给误判为EPROCESS了。
不太可能说重启后,还有重启前系统残留的EPROCESS。
页: [1]
查看完整版本: 通过搜索内存检测隐藏进程遇到的重启后内存数据残留问题。