我有一个作为本地系统运行的 Windows 服务。我希望该服务生成一个进程作为“NT AUTHORITY/Network Service”。但是,我没有该帐户的凭据。如何使用 C++ 以“网络服务”用户身份生成进程。
最佳答案
我不在我的 win32 开发箱前,所以我无法确认,但我将提供两种可能的方法:
- 遍历进程列表
- 调用
OpenProcess()
获取现有网络服务进程的句柄 - 调用
OpenProcessToken()
使用该句柄从他的进程中获取安全 token - 调用
CreateProcessAsUser()
使用 token 创建一个进程作为 NETWORK SERVICE
或者,您可以:
- 调用
CreateService()
在lpServiceStartName
中使用 - 调用
StartService()
启动进程
NT AUTHORITY\NetworkService
关于c++ - CreateProcess 以用户 : "NT AUTHORITY/Network Service" without knowing the credentials? 身份运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5629383/