NtQueryInformationProcess 为 ProcessInstrumentationCallback 返回 STATUS_INVALID_INFO_CLASS

问题描述 投票:0回答:1

我正在尝试使用 NtQueryInformationProcess 获取流程仪表回调,但它不断返回 STATUS_INVALID_INFO_CLASS。

我知道这个错误意味着 ProcessInformationClass 参数无效,但从我所做的谷歌搜索来看,ProcessInstrumentationCallback 看起来是一个真正的类,但只是隐藏的。

这是我的代码:

#define PROCESS_INSTRUMENTATION_CALLBACK 40

typedef struct
{
    ULONG verision;
    ULONG reserved;
    PVOID callback;
} process_instrumentation_callback_information_t;

process_instrumentation_callback_information_t nirvana;

NTSTATUS status = manual_query_information_process(GetCurrentProcess(), (PROCESS_INFORMATION_CLASS)PROCESS_INSTRUMENTATION_CALLBACK, &nirvana, sizeof(process_instrumentation_callback_information_t), NULL);
if (!NT_SUCCESS(status))
{
    logger::log("Unable to get callback: 0x%x\n", status);
    return 1;
}
logger::log("Got callback\n");
c++ windows 64-bit
1个回答
0
投票

我认为不可能从用户模式获取仪器回调地址。我刚刚从内核获取了地址并将其存储为偏移量,以便我可以在用户模式下使用它。

© www.soinside.com 2019 - 2024. All rights reserved.