我需要防止应用程序在 Windows 机器上启动。最明显的方式(具有无限循环并使用 EnumProcesses/OpenProcess/TerminateProcess)意味着目标应用程序/进程已经启动并且它运行了一段时间。
遗憾的是,重命名/编辑/修补/删除目标应用程序不是一种选择。
如果您运行的是 Windows 7 或更新版本(或任何基于它的版本),那么您可以使用 AppLocker 功能:
http://technet.microsoft.com/en-us/library/dd723686(v=ws.10).aspx
您可以使用CBT 挂钩将挂钩 dll 注入应用程序。然后可以从内部挂钩过程中终止所需的过程。这适用于 Windows 2000 及更高版本。
不替换不需要的可执行文件中的代码?我不认为你可以。除非你至少闯入 Windows 内核。查看不需要的程序是否有计划或触发器使其运行。也许你可以摆脱它们。希望这可以帮助。