OpenProcess调用失败,GetLastError返回5
来源:互联网 发布:战舰世界兴登堡数据 编辑:程序博客网 时间:2024/05/26 02:55
转自https://social.msdn.microsoft.com/Forums/zh-CN/20e3fc99-1d21-43b5-9bc2-03a52a721dc5/openprocess
现象:服务方式程序时,程序的创建者为SYSTEM用户;非SYSTEM用户调用OpenProcess访问该服务程序时,调用失败,GetLastError返回5,可以通过调用如下
EnableDebugPriv() ,用以下函数提权,操作即可成功。
void EnableDebugPriv() { HANDLE hToken;LUID sedebugnameValue; TOKEN_PRIVILEGES tkp; if ( ! OpenProcessToken( GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken ) ) {cout<<"提权失败。"<<endl;return; }if ( ! LookupPrivilegeValue( NULL, SE_DEBUG_NAME, &sedebugnameValue ) ) { CloseHandle( hToken ); cout<<"提权失败。"<<endl;return; } tkp.PrivilegeCount = 1; tkp.Privileges[0].Luid = sedebugnameValue; tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED; if ( ! AdjustTokenPrivileges( hToken, FALSE, &tkp, sizeof tkp, NULL, NULL ) ) {cout<<"提权失败。"<<endl;CloseHandle( hToken );}else cout<<"提权成功!"<<endl;}
0 0
- OpenProcess调用失败,GetLastError返回5
- openProcess时拒绝访问(GetlastError为5),返回的HANDLE为NULL的解决方法
- CreateFileMapping调用失败,GetLastError返回值为1006
- UpdateLayeredWindow()失败,GetLastError()返回0
- Creat 失败,getlasterror返回10093
- CreateDirectory(…)执行失败,GetLastError()返回错误码5
- 关于UpdateLayeredWindow调用失败返回0但是Getlasterror为0的问题
- LoadLibrary失败,getlasterror返回126的心得
- RegOpenKeyEx调用失败返回5
- GetLastError返回
- CreateBitmapIndirect() GetLastError() 返回 错误的参数 创建失败原因
- 打开虚拟串口COM18失败,GetLastError返回2
- dll之loadbitmap失败 getlasterror返回1813 1814的解决
- 打开虚拟串口COM18失败,GetLastError返回2
- openprocess失败,errorcode为5,提权代码
- OpenProcess使用PROCESS_ALL_ACCESS返回ERROR_ACCESS_DENIED
- RegEnumValue调用失败返回ERROR_MORE_DATA
- getlasterror返回值大全
- PCA原理及其R实现
- BZOJ 4004: [JLOI2015]装备购买
- 运算符 流控制 test echo
- 在mac上安装php7.1
- 秒杀系统架构优化思路
- OpenProcess调用失败,GetLastError返回5
- wampserver访问localhost显示iis
- 优化排列组合计算---java
- leetcode 8. String to Integer (atoi)
- 函数
- mongodb上传数据 java语言版
- jxl操作Excel
- C#基础之unsafe code(不安全代码)
- 深层学习为何要“Deep”(下)