创建新进程,就三个函数CreateProcessAsUser CreateProcessWithLogonW CreateProcessWithTokenW(附网友的流程)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了创建新进程,就三个函数CreateProcessAsUser CreateProcessWithLogonW CreateProcessWithTokenW(附网友的流程)相关的知识,希望对你有一定的参考价值。
CreateProcessAsUser 怎么会还需要密码呢~~~
先WTSGetActiveConsoleSessionId 得到当前的处理激活状态的SessionId
OpenProcessToken 得到服务进程的TOKEN
DuplicateTokenEx 复制一个TOKEN
SetTokenInformation 使用这个函数把复制到的TOKEN的会话ID设置为上面得到的处于激活状态的SessionId
CreateProcessAsUser 使用刚才设置好SessionId的SessionId创建一个用户进程,此进程就是以登录的用户创建的啦,
------------------------------------------------------------------------------------------------
可以试下这样,用CreateRemoteThread()在explorer.exe进程创建远程线程执行CreateProcess()
------------------------------------------------------------------------------------------------
CreateProcessWithToken可行,但是xp不支持这个函数
另外system权限下用这个函数可以使创建的进程用户变成administrator,但是不能session id仍然是system的
调用了SetTokenInformation好像也不起作用
http://bbs.csdn.net/topics/390248917
以上是关于创建新进程,就三个函数CreateProcessAsUser CreateProcessWithLogonW CreateProcessWithTokenW(附网友的流程)的主要内容,如果未能解决你的问题,请参考以下文章