草庐IT

EPROCESS

全部标签

windows - Windows 中的 EPROCESS 和 ETHREAD

我正在开发一个函数来计算每个进程的线程数,我看到结构EPROCESS中有一个名为ThreadListHead的变量,它指向一个连接进程中所有线程的指针。我想问一下,如果一个进程中没有线程,ThreadListHead的值是多少?它是空值还是什么?请帮助我,非常感谢。 最佳答案 ThreadListHead是一个LIST_ENTRY结构,表示列表头。LIST_ENTRYisdocumented:如果列表为空,则Flink和Blink成员都指向ThreadListHead本身。但是,从ThreadListHead中读取时需要非常小心。由

windows - 使用 windbg 转储 EPROCESS

我正在试验LibVMI和Windows732位;为了正确设置,我需要查看EPROCESS结构的前8个字节(库在内存中搜索魔数(MagicNumber),应该就是它)。我的Windows-fu不强,所以谁能告诉我如何转储适当的内存位?我正在运行本地内核调试器,我已经得到了“dtnt!_EPROCESS”,但这似乎只是向我展示了结构的格式,而不是其中的实际内容。 最佳答案 命令是:dtnt!_EPROCESS您应该能够从!process07的输出中获取地址。 关于windows-使用wind

windows - _EPROCESS 对象和 _KPROCESS 对象有什么区别

经过分析,我了解到即使是_KPROCESS对象也可以是ActiveProcessLinks列表的成员。_EPROCESS和_KPROCESS对象有什么区别?什么时候造一个,一个不造?它们之间的概念差异是什么? 最佳答案 这是简化的,但Windows操作系统的内核模式部分分为三部分:HAL、内核和执行子系统。执行子系统处理一般的O/S策略和操作。内核处理低级操作(例如自旋锁、线程切换)以及调度的进程架构特定细节。HAL处理在处理器架构的特定实现中出现的差异(例如,中断是如何在此x86实现上路由的)。WindowsInternals一书