我在驱动程序开发方面完全没有任何经验。我想访问结构 PEPROCESS 的属性。我有一个指向进程对象的指针,通过 PsGetCurrentProcess 例程获得。我已经看到一些描述结构内部(属性)声明的网络,所以我可以使用这些属性的偏移量来获取它们,例如:
hprocess = PsGetCurrentProcess();
List = (LIST_ENTRY*)((ULONG)hproces + 0x88); //Active Process Link Offset
然而,这种方式让我陷入了困境。我想构建可以在其他类型的平台(例如:x86、x86_64)和其他版本的 Windows(XP、7、...)上运行的代码;我认为这种方式是不可能的,因为偏移量不一样。
问题:有没有一个不蹩脚的解决方案?例如:类似的东西
List = process->ActiveProcessLink
或者其他的东西。