【问题标题】:Windows process structure: How to store user information?Windows进程结构:如何存储用户信息?
【发布时间】:2010-09-26 04:57:20
【问题描述】:

我想在 Windows NT 内核进程的 EPROCESS 结构中存储一些信息。我的目标是,当调用 winlogon 时,我想根据哪个用户登录为下一个进程分配一个唯一值。但我不知道在哪里存储这个唯一 ID。我已经尝试并成功地通过直接内核对象修改的方法修改了进程的 EPROCESS 块中的一些信息(如令牌),我想知道这个 EPROCESS 块中是否有任何结构可以存储一些其他信息。

附言为了修改 EPROCESS 块,我使用了设备驱动程序。

【问题讨论】:

  • 您能解释一下这个要求的更广泛背景吗?您是否可以将“进程 => 唯一 ID”映射存储在一个由 1 个进程维护的集中表中(并在必要时为其他进程提供一些查询它的机制)?

标签: windows security winapi kernel


【解决方案1】:

EPROCESS 结构是不透明且未记录的,这意味着您不应该弄乱它的内部结构。这样做需要您在计划支持的每个操作系统版本和服务包上进行测试。

【讨论】:

    【解决方案2】:

    不要修改 EPROCESS。它会给你带来巨大的悲伤。

    此外,如果您这样做,请不要将其安装在任何其他人的机器上。将这种具有深远破坏性、破坏系统稳定性的更改强加于他人的计算机上是绝对错误的。如果我给你肺结核会怎样?

    【讨论】:

      猜你喜欢
      • 2021-04-26
      • 1970-01-01
      • 2014-10-01
      • 2012-09-06
      • 1970-01-01
      • 2012-05-26
      • 2018-10-20
      • 2021-02-26
      • 2019-03-28
      相关资源
      最近更新 更多