win7上读写进程内存的相关有关问题,列宁请进

win7下读写进程内存的相关问题,列宁请进
最近在做一个APIHOOK的东西,基本成型,在XP下完全没问题。
但是在Win7下就会出现以下问题:
已经DEBUG提权
1.VirtualProtectEx 这个API有时会直接把目标进程干掉 
2.有时1的问题不存在,在readmemory时会出错,返回值299.很不明白,已经提到DEBUG权限了 为什么还是不能操作内存?
3.我用的是detours库,这个库不能再debug下运行?我只要在debug下运行一定会崩溃,目标程序和本程序都会崩溃。
各位大牛,请帮忙解答以上问题。感激不尽!

------解决方案--------------------
VirtualProtectEx一次更改一个页,可能是目标进程访问了这个页上的内存。
ReadProcessMemory返回299,意义是读取的部分地址是正确,有部分错误。你看看长度和地址有没有什么问题。
根据我的经验,Debug版在函数地址上的寻址有时是错的。比如:
void start()
{
}
.....
void end()
{
}
(DWORD)end - (DWORD)start 的值在Debug下不准确,也不知道是哪个选项造成的。
------解决方案--------------------
MSDN98中的例子walker又名pwalk。完整列出指定进程的内存使用情况,显示进程地址空间内容,装载哪些DLL,代码、数据、堆栈段分配在何处,可以用来检测内存泄漏,监测内存使用。 
http://download.****.net/detail/zhao4zhong1/3667896
------解决方案--------------------
不好意思,上面那个Gy选项说错了,好像是链接器的/ORDER选项。