首页
社区
课程
招聘
[求助]OpenProcess打开进程失败
发表于: 2008-7-13 22:04 12698

[求助]OpenProcess打开进程失败

2008-7-13 22:04
12698
'模块部分
Private Const PROCESS_VM_WRITE = (&H20)        '用OpenProcess打开进程时指定写内存空间权限
Private Const PROCESS_VM_OPERATION = (&H8)     '用OpenProcess打开进程时指定操作权限。MSDN上说:Enables using the process handle in the VirtualProtectEx and WriteProcessMemory functions to modify the virtual memory of the process.
Private Const PROCESS_CREATE_THREAD = (&H2)    '用OpenProcess打开进程时指定创建线程权限

'窗体部分
'在过程中调用 OpenProces
pHandle = OpenProcess(PROCESS_CREATE_THREAD Or PROCESS_VM_OPERATION Or PROCESS_VM_WRITE, False, pid)  ' 在内存地址中读取数据

'结果pHandle=0  说明打开进程失败

但是用同样的方法却可以打开别的进程,读到内存数据

请高手指教,最好能详细一些,谢谢

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (8)
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
貌似随便Hook下就能让你Open不开啊 - -#
2008-7-13 22:25
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
能说详细一点吗?
2008-7-13 22:45
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
找到一篇文章正在研究,努力解决问题

http://hi.baidu.com/cxwr/blog/item/ac15ecc3ff89d556b319a884.html
2008-7-13 23:06
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
这个问题如果是被HOOK了,用OD能找到被HOOK的代码?如何用OD找?

nlrte 如果看到希望你能回复一下
2008-7-13 23:09
0
雪    币: 375
活跃值: (12)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
6
如果人家没Hook NtDuplicate*的话
还是能够得到句柄的。
2008-7-14 11:48
0
雪    币: 427
活跃值: (412)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
直读并且自己解析内核函数
2008-7-14 11:59
0
雪    币: 104
活跃值: (73)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
调试一下你自己的OpenProcess函数的执行过程,看看执行的时候是不是进入了一个奇怪的DLL中,如果是就说明此函数被HOOK了。
2008-7-19 00:22
0
雪    币: 29
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
看看GetLastError的错误代码是什么?如果是32的话,应该是权限不够。得提升进程权限才能打开其他进程。比如debug权限
2008-7-24 05:33
0
游客
登录 | 注册 方可回帖
返回
//