|
我这边打开csrss的进程出问题。
然后我修改了一下
- .版本 2
- .支持库 spec
- .子程序 System_启动, 逻辑型
- .参数 路径, 文本型
- .局部变量 进程ID, 整数型
- .局部变量 ProcessHandle, 整数型
- .局部变量 success, 整数型
- .局部变量 TokenHandle, 整数型
- .局部变量 newSystemToken, 整数型
- .局部变量 b, 字节集
- .局部变量 si, 启动信息
- .局部变量 pi, 进程信息
- .局部变量 ret, 逻辑型
- .局部变量 running, 文本型, , "0"
- .局部变量 i, 整数型
- 进程_提升权限到Debug ()
- running = { “csrss.exe”, “winlogon.exe”, “svchost.exe” }
- .计次循环首 (取数组成员数 (running), i)
- 进程ID = 进程_名取ID (running [i], )
- .如果真 (进程ID = 0)
- 到循环尾 ()
- .如果真结束
- ProcessHandle = OpenProcess (2035711, 0, 进程ID)
- .如果真 (ProcessHandle ≠ 0)
- 跳出循环 ()
- .如果真结束
- .计次循环尾 ()
- success = OpenProcessToken (ProcessHandle, 2, TokenHandle)
- .如果真 (success < 1)
- CloseHandle (ProcessHandle)
- 返回 (假)
- .如果真结束
- success = DuplicateTokenEx (TokenHandle, 位或 (#TOKEN_ADJUST_DEFAULT, #TOKEN_ADJUST_SESSIONID, #TOKEN_QUERY, #TOKEN_DUPLICATE, #TOKEN_ASSIGN_PRIMARY), 0, 2, 1, newSystemToken)
- .如果真 (success < 1)
- CloseHandle (ProcessHandle)
- 返回 (假)
- .如果真结束
- b = 编码_Ansi到Unicode (路径, )
- ret = CreateProcessWithTokenW (newSystemToken, 0, 取变量数据地址 (b), 0, 0, 0, 0, si, pi)
- CloseHandle (ProcessHandle)
- 返回 (ret)
复制代码 |
|