使用openprocess时解决问题,关于权限分配有感
2013-01-24 16:56
435 查看
今天解bug的时候,发现枚举后台进程获取ID放入数组dwids,然后调用
HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS,FALSE,dwids[i]);
.......
GetModuleFileNameEx(hProcess,NULL,lpPathName,MAX_PATH);
hProcess 一直为空,打印getlasterror后发现,错误码为拒绝访问。
调试了半天,最终发现错误是由于OpenProcess里的权限设置过高导致的。
根据GetModuleFileNameEx的实际权限需求,修改为:
HANDLE hProcess = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ,FALSE,dwids[i]);
成功解决问题。
HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS,FALSE,dwids[i]);
.......
GetModuleFileNameEx(hProcess,NULL,lpPathName,MAX_PATH);
hProcess 一直为空,打印getlasterror后发现,错误码为拒绝访问。
调试了半天,最终发现错误是由于OpenProcess里的权限设置过高导致的。
根据GetModuleFileNameEx的实际权限需求,修改为:
HANDLE hProcess = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ,FALSE,dwids[i]);
成功解决问题。
相关文章推荐
- 解决关于iis 中使用 word COM+ 组件的问题 ,应该基本上 都是 权限授权的问题
- 关于使用栈解决括号匹配的问题
- 解决linux普通用户使用Wireshark的权限不足问题
- 关于解决JavaScript中使用require引用外部js时出现的某个对象 not defined 时现时消失 问题
- 【关于数组两种使用的思考】C语言中用map函数和广搜解决八数码问题(noj1571)
- Android:关于Android Studio连接手机的各种问题 & 解决“通常每个套接字地址(协议/网络地址/端口)只允许使用一次(10048)”的问题。
- 解决“要运行Visual Studio 2005 sp1,建议使用管理员权限”的问题
- 关于使用POI导出时excel版本问题的bug解决
- 系统错误 5。拒绝访问。关于Mysql访问权限问题的解决办法
- 关于spring使用new对象时注解失效问题解决办法
- 使用Linux重定向解决nohup.out无写权限问题
- 关于“此程序集中已使用了资源标识符 "Test.Searchn.resources”问题的解决办法
- 关于samba无法访问,你可能没有权限使用网络的解决办法
- 关于在struts 框架中使用Filter过滤器解决汉字编码问题
- 关于struts Validator在多模块下多国语言资源访问的问题解决之道(一)struts Validator下使用多模块的多国语言资源
- 关于MyEclipse下的项目无法使用BASE64Encoder问题的解决办法
- 彻底地/ 终于地, 解决 关于apache 权限的问题了:: 修改 DocumentRoot后的 403错误: have no permission to access / on this server
- 如何解决使用远程工具登陆mysql,缺乏权限的问题
- 关于Eas 权限分配问题
- 关于误更改/var下诺干的权限问题,导致系统启动提示The System is running in low-graphics mode问题解决 By ACReaper