我正在试验 LibVMI 和 Windows 7 32 位;为了正确设置,我需要查看 EPROCESS 结构的前 8 个字节(该库在内存中搜索一个幻数,这应该是它)。
我的 Windows-fu 不强,所以谁能告诉我如何转储适当的内存?我正在运行本地内核调试器,并且我已经达到了“dt nt!_EPROCESS”,但这似乎只是向我展示了结构的格式,而不是它的实际内容。
命令是:
dt nt!_EPROCESS <address>
您应该能够从!process 0 7
.
我想通了——Seva Titov 的回答与我所做的类似。我是这样做的:
!process 0 0
这给了我一个正在运行的进程的简短列表;我专门启动了 calc.exe 来运行一个简单的小程序,所以我查看了列表然后运行:
!process calc.exe
第一行输出的开头PROCESS 83f81178
是重要的部分。然后我做了:
db 83f81178
这向我展示了从该偏移量开始的一大块内存,看起来像这样:
83f81178 03 00 26 00 00 00 00 00--80 11 f8 83 80 11 f8 83 ..&............
83f81188 88 11 f8 83 88 11 f8 83--80 23 e2 3e 00 00 00 00 ........#.>....
那是我需要的,所以我停在那里。