gpt4 book ai didi

c++ - 将线程标识为 "Remote thread"

转载 作者:可可西里 更新时间:2023-11-01 10:53:42 28 4
gpt4 key购买 nike

我正在研究一个过程,该过程分析另一个过程的作用。
它检查 CPU、内存使用情况、线程创建和死亡等。不幸的是,我的计算机上安装了防病毒软件,它在我检查的进程中创建了一个远程线程。这个远程线程实际上并不是进程的一部分,所以我想在检查进程时完全忽略这个线程。

有没有一种方法(在 C++ 中)允许我们将线程识别为“远程线程”?

最佳答案

如果你愿意进入内核模式PsSetCreateThreadNotifyRoutine您可能会感兴趣。根据Uninformed它在进程的上下文中被调用'正在创建或终止线程'。我也看到了这个建议 elsewhere .

我开始测试这个,它工作正常。 您应该注意到,您会看到许多误报,因为 Windows(不出所料)本身会进行一些注入(inject)。 这实际上是因为在创建进程时创建第一个线程时,它将在父进程的上下文中完成。简单地消除第一个线程创建,这给出了一个很好的指示。

主要缺点(除了必须编写驱动程序之外)是您需要看到创建的发生,因此您的流程需要先启动。

或者,如前所述,涉及堆栈跟踪、加载模块和所有好东西的启发式方法开始发挥作用。

关于c++ - 将线程标识为 "Remote thread",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14539225/

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