1

我在驱动程序开发方面完全没有任何经验。我想访问结构 PEPROCESS 的属性。我有一个指向进程对象的指针,通过 PsGetCurrentProcess 例程获得。我已经看到一些描述结构内部(属性)声明的网络,所以我可以使用这些属性的偏移量来获取它们,例如:

hprocess = PsGetCurrentProcess();
List = (LIST_ENTRY*)((ULONG)hproces + 0x88); //Active Process Link Offset

然而,这种方式让我陷入了困境。我想构建可以在其他类型的平台(例如:x86、x86_64)和其他版本的 Windows(XP、7、...)上运行的代码;我认为这种方式是不可能的,因为偏移量不一样。

问题:有没有一个不蹩脚的解决方案?例如:类似的东西

List = process->ActiveProcessLink 

或者其他的东西。

4

1 回答 1

1

尝试使用宏:PCHAR CONTAINING_RECORD([in] PCHAR Address, [in] TYPE Type, [in] PCHAR Field);

于 2015-03-16T16:11:39.147 回答