开门见山吧,以DEBUG_PROCESS权限打开目标程序并用WriteProcessMemory写断点,不经过VirtualProtectEx的页属性修改就直接写code segment,将可能引发页面保护错误吗?
以下是我在EFZ.NET中的做法,没有使用VirtualProtectEx,但在我的JP VLK XP SP2上work well.不少用户向我呈递了执行异常的报告,状况大多为目标程序在初始化后被迅速关闭,因此我想就此了解一下原因所在
@@:
push ecx
mov edx,OFFSET arrayBreakPoint
invoke WriteProcessMemory,procinfo.hProcess,[edx + ecx * 4],ADDR Int3Code,1,NULL
pop ecx
inc ecx
cmp ecx,8
jb @b
invoke WriteProcessMemory,procinfo.hProcess,0040C7BCh,ADDR DICode,1,NULL
jmp DebugContinue
PS:由于暂时无法将做好的程序弄到网上来...so,拜托各位了m(_ _)m
PS2:昨晚试了用GPRS上网,吐血的感觉-o-