【发布时间】:2012-08-30 09:52:32
【问题描述】:
我在this blog 上读到,sysinernals 使用CreateRemoteThread() 将ExitProcess 注入另一个进程以终止它。这是真的吗?而且,如果是的话,有人可以告诉我如何在我的 Delphi 应用程序中执行此操作吗?我想终止启动我的应用程序的进程。
【问题讨论】:
-
1.获取其他进程的PID。 2. 调用 OpenProcess 获取进程句柄。传递 CreateRemoteThread 文档中指定的访问标志。 3.调用CreateRemoteThread传递目标进程地址空间中
ExitProcess的地址。这是棘手的部分。 -
无论如何,这一切都毫无意义。只需致电
TerminateProcess。 -
@DavidHeffernan 我只是想让黑客们头疼。调用
TerminateProcess会很容易被拦截。你不同意吗? -
容易吗?为什么它比阻塞远程线程更容易?无论如何,黑客是从哪里来的?此外,没有真正的证据表明 Process Explorer 使用了
CreateRemoteThread。博客上的某个随机人说他怀疑这一点,而您将其视为事实。 -
不,我认为黑客仍然会破解您的应用程序。不管你做什么,如果这样做有价值,你就会被黑。只要确保您不会让诚实的付费客户的生活变得尴尬。没有必要阻止黑客攻击并赶走那些付钱给你的客户!
标签: multithreading delphi winapi ipc