.386. 看雪软件安全网站. Log in. 驱动天空 - 笔记本驱动 - 宏 Acer - Acer Aspire 4738G. Win32调试API原理 - 我的程序世界. 来自《软件技术加密内幕》和chm版本不太一样 在Win32中自带了一些API函数,它们提供了相当于一般调试器的大多数功能,这些函数统称为Win32调试API(Win32 Debug API)。 利用这些API可以做到加载一个程序或捆绑到一个正在运行的程序上以供调试;可以获得被调试的程序的底层信息,例如进程ID、进入地址、映像基址等;甚至可以对被调试的程序进行任意的修改,包括进程的内存、线程的运行环境等。 简而言之,读者可以用这些API写一个进程调试器。 就像现在流行的调试器Visual C++调试器、WinDBG、OllyDbg等一样。 Windows提供了一组Win32 Debug API,其具体定义如下。 (1)ContinueDebugEvent函数 说明:此函数允许调试器恢复先前由于调试事件而挂起的线程。 语法:BOOL ContinueDebugEvent(DWORD dwProcessId,DWORD dwThreadId, DWORD dwContinueStatus ) 参数: dwProcessId DWORD 被调试进程的进程标识符 dwThreadId DWORD 欲恢复线程的线程标识符 dwContinueStatus DWORD 此值指定了该线程将以何种方式继续,包含两个定义值DBG_CONTINUE和DBG_EXCEPTION_NOT_HANDLED 返回值 BOOL 如果函数成功,则返回非零值;如果失败,则返回零 (2)DebugActiveProcess 说明:此函数允许将调试器捆绑到一个正在运行的进程上。
语法:BOOL DebugActiveProcess(DWORD dwProcessId ) dwProcessId DWORD 欲捆绑进程的进程标识符 (3)DebugActiveProcessStop 说明:此函数允许将调试器从一个正在运行的进程上卸载。 语法:BOOL DebugActiveProcessStop(DWORD dwProcessId ) dwProcessId DWORD 欲卸载的进程的进程标识符 注意:Windows 9x内核不支持此函数。 (4)DebugBreak 说明:在当前进程中产生一个断点异常,如果当前进程不是处在被调试状态,那么这个异常将被系统例程接管,多数情况下会导致当前进程被终止。 语法:VOID DebugBreak(VOID) 参数:无. MASM32 Home Page. AoGo汇编小站 搜索关键字aogo/masm/masmplus/asm/win32asm/汇编论坛. Directives Reference. CSDN.NET - 全球最大中文IT社区,为IT专业技术人员提供最全面的信息传播和服务平台.