none
OpenProcess无法提升权限的问题 RRS feed

  • 问题

  • 在我自己的钩子程序中,WriteProcessMemory函数总是报错(998)-内存分配访问无效。很多人说是权限不够,于是我在之前调用代码:DWORD dwProcessId = GetCurrentProcessId();
                HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS ,
                FALSE,
                dwProcessId );结果总是无法获取到hProcess,无法获取这个权限。

    PROCESS_VM_READ|PROCESS_VM_WRITE这个权限可以获取,但是调用WriteProcessMemory的时候getlasterror显示为拒绝访问。我想问如果要获取PROCESS_ALL_ACCESS这个权限,我到底应该怎么做呢,这个进程都是我自己的。为什么总是获取不到呢。请高手详细点说明下,谢谢

    2012年5月27日 8:55

全部回复

  • 在我自己的钩子程序中,WriteProcessMemory函数总是报错(998)-内存分配访问无效。很多人说是权限不够,于是我在之前调用代码:DWORD dwProcessId = GetCurrentProcessId();
                HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS ,
                FALSE,
                dwProcessId );结果总是无法获取到hProcess,无法获取这个权限。

    PROCESS_VM_READ|PROCESS_VM_WRITE这个权限可以获取,但是调用WriteProcessMemory的时候getlasterror显示为拒绝访问。我想问如果要获取PROCESS_ALL_ACCESS这个权限,我到底应该怎么做呢,这个进程都是我自己的。为什么总是获取不到呢。请高手详细点说明下,谢谢

    提升权限后,这个功能实现了。但是程序在我电脑上一运行就报错,内存不能written.调试的时候发现是SetWindowsHookEx函数出了问题。但是程序编译好后在别人电脑上用都没问题,都是xp的系统。
    2012年5月27日 16:39
  • 其它地方有BUG,打日至吧,如果不行,至少得把GetLastError的值贴出来吧


    0xBAADF00D


    2012年5月28日 8:32
    版主