相关函数
(1)ContinueDebugEvent函数:此函数允许调试器回复先前由于调试事件而挂起的线程。
(2)DebugAcitveProcess函数:此函数允许将调试器捆绑到一个正在运行的进程上。
(3)DebugActiveProcessStop函数:此函数允许将调试器从一个正在运行的进程上卸载。
(4)DebugBreak函数:在当前进程中产生一个断点异常,如果当前进程位处在调试状态,那么这个异常将被系统例程接管。多数情况下会导致当前进程终止。
(5)DebugBreakProcess函数:在制定进程中产生一个断点异常。
(6)FataExit函数:此函数将使调用进程强制退出,将控制权转移至调试器。与ExitProcess不同的是,此函数在退出钱会调用INT3 断点。
(7)FlushInstructionCache函数:刷新指令高速缓存。
(8)GetThreaContext函数:获取指定线程的执行环境。
(9)GetTreadSelectorEntry函数:此函数反汇指定选择器和线程的描述符表的入口地址。
(10)IsDebuggerPresent函数:此函数用来判断调用进程是否处于调试环境中。
(11)OutputDebugString函数:讲一个字符串传递给调试器显示。
(12)ReadProcessMemory函数:读取制定进程的某区域内的数据。
(13)SetTreadContext函数:设置指定线程的执行环境。
(14)WaitForDengEvent函数:此函数用来等待被调试进程发生调试事件。
(15)WriteProcessMemory函数:在指定进程的某区域内写入数据。
创建并跟踪进程
如何创建一个新进程以供调试:zaitongguo CreateProcess创建进程时,如果在dwCreationFlags标志字段中设置了DEBUG PROCESS或DEBUG_ONLY_THIS_PROCESS标志,将创建一个用于调试的新进程。
如何将调试器捆绑到一个正在运行的进程上:利用DebugActiveProcess函数可以将调试器捆绑到一个正在运行的进程上,如果执行成功,则效果类似与利用DEBUG_ONLY_THIS_PROCESS标志创建的新进程。
如果要编写一个简单的游戏修改器,利用临时捆绑调试器的方法比较好;如果要做一些不寻常的工作,利用载入的方法可能更好,因为他能获得目标进程及其线程的所有控制权。