当前位置: 代码迷 >> 汇编语言 >> 32位调试API,该怎么处理
  详细解决方案

32位调试API,该怎么处理

热度:5778   发布时间:2013-02-26 00:00:00.0
32位调试API

_debugThread_proc proc uses esi edi ebx lpParam
LOCAL @nReaderNumber
invoke RtlZeroMemory,addr @nReaderNumber,sizeof @nReaderNumber
invoke GetStartupInfo,offset stStartUp
invoke CreateProcess,offset szFilePath,NULL,NULL,NULL,NULL,DEBUG_PROCESS or DEBUG_ONLY_THIS_PROCESS,NULL,\
NULL,offset stStartUp,offset stPF
.while TRUE
invoke WaitForDebugEvent,offset stDebugEvent,INFINITE
invoke _showerror_proc,stPF.hProcess
invoke _showerror_proc,stPF.hThread
.break .if stDebugEvent.dwDebugEventCode == EXIT_PROCESS_DEBUG_EVENT
.if stDebugEvent.dwDebugEventCode == CREATE_PROCESS_DEBUG_EVENT
invoke ReadProcessMemory,stPF.hProcess,lpEntryPointer,offset Oldcommand,1,@nReaderNumber
invoke WriteProcessMemory,stPF.hProcess,lpEntryPointer,offset dbINT3,1,@nReaderNumber
.endif
invoke ContinueDebugEvent,stPF.hProcess,stPF.hThread,DBG_CONTINUE
.endw
invoke ExitThread,12
ret

_debugThread_proc endp

这是一个线程函数,在循环中第二次循环卡在WaitForDebugEvent处了.怎么才能继续执行???
------解决方案--------------------------------------------------------
参数有问题吧
  相关解决方案