我已处理服务并处理进程。是否可以将此过程作为子进程重新启动以进行服务?如果是,我该怎么办?
这个服务和进程都是由其他应用程序创建的,在这里我正在处理这些。
获得服务处理:
schService = OpenService(schSCManager, ServiceName, SERVICE_CHANGE_CONFIG);
掌握流程:
HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, PID);
我想停止并hprocess
作为schservice
的孩子。
答案 0 :(得分:0)
是否可以将此流程作为子流程重新启动以进行服务?
如果有的话,不容易。您必须查询最初生成它的命令行的进程,然后将代码注入正在运行的服务进程,以使用CreateProcess()
或CreateProcessAsUser()
启动该相同命令行的新副本。当然,如果服务运行的更高完整性/安全级别比您的注入器运行更高,那么您将无法将代码注入其中。
我想停止并
hprocess
作为schservice
的孩子。
为什么呢?这样做没有任何实际好处。除非您试图绕过操作系统的安全性,以使该进程以比其已经运行的更高的完整性/安全级别运行。如果操作系统允许,那将是一个非常危险的安全漏洞。