gpt4 book ai didi

c++ - 如何在过滤驱动中读取当前进程的PE头

转载 作者:行者123 更新时间:2023-11-28 05:31:31 28 4
gpt4 key购买 nike

我调用 PsGetCurrentProcess 来获取 PEPROCESS 结构,我如何在内核模式下读取我的进程的 PE header ,类似于 this在用户模式下执行此操作的代码?我的目标是从 PE header 获取版本信息。

最佳答案

我建议在创建进程时获取此信息。您可以使用 PsSetCreateProcessNotifyRoutine(Ex) 在创建新进程时收到通知。 PsSetLoadImageNotifyRoutine 会在 PE 文件(包括进程的主要可执行文件)映射到虚拟地址空间时通知您。

当进程完全初始化并运行时,从进程的内存中读取版本信息是一个坏主意。该进程可以完全控制其 PE 文件映射,因此可以伪造版本信息。更重要的是,您只能在低 IRQL (PASSIVE_LEVEL) 下访问用户模式内存。也可以在 APC_LEVEL/DISPATCH_LEVEL 调用 Minifilter 回调。

关于c++ - 如何在过滤驱动中读取当前进程的PE头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39404863/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com