gpt4 book ai didi

multithreading - 在 Delphi 中使用 CreateRemoteThread 将代码注入(inject)另一个进程的正确方法是什么?

转载 作者:行者123 更新时间:2023-12-03 19:32:52 27 4
gpt4 key购买 nike

我继续阅读 this blog sysinernals 使用 CreateRemoteThread()注入(inject)ExitProcess进入另一个进程以终止它。这是真的吗?而且,如果是的话,有人可以告诉我如何在我的 Delphi 应用程序中执行此操作吗?我想终止启动我的应用程序的进程。

最佳答案

您在此处提出的问题已在此博客文章中得到解答:http://private-storm.de/2009/08/11/case-terminateprocess/

这包括 Delphi 源代码。出于某种原因,该代码启用了 SE_DEBUG_NAME特权,这不是必需的。

这种方法的难点在于定位ExitProcess的地址。在目标应用程序中。本文中的代码假定它与您自己的进程中的地址相同。这很可能是真的,但并非总是如此。例如,如果您的进程是 64 位进程而目标进程是 32 位进程,那么它就不是真的。或者,如果目标进程的基地址不允许 kernel32 在其首选地址加载。

另一个问题是如果您的进程是 32 位,而目标进程是 64 位。在那种情况下,我相信 CreateRemoteProcess伎俩根本失败。

总而言之,我会使用 TerminateProcess .

关于multithreading - 在 Delphi 中使用 CreateRemoteThread 将代码注入(inject)另一个进程的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12194216/

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