2

在 Windows(最好是 XP)上,通常可以在进程写入特定地址(在它的虚拟地址空间中)时挂起它吗?

由于加载的 DLL 执行写入操作而不是进程本身的 (PE) 映像中的代码,因此问题变得复杂。

4

1 回答 1

4

VirtualProtect您可以使用and或其他选项保护包含感兴趣地址的页面,并PAGE_GUARD在地址写入时遇到异常。此类异常可以由未处理的异常过滤器(取决于应用程序可能自己处理)或进程外调试器应用程序(例如众所周知的调试器或通过 API 的自定义应用程序调试过程)来处理。

调试器应用程序可以在必要时暂停进程,或者使用快照进行小型转储。有关详细信息,请参阅 MSDN EXCEPTION_DEBUG_EVENT

每当正在调试的进程中发生异常时生成。可能的异常包括尝试访问不可访问的内存、执行断点指令、尝试除以零或结构化异常处理中指出的任何其他异常。

DEBUG_EVENT 结构包含一个 EXCEPTION_DEBUG_INFO 结构。此结构描述导致调试事件的异常。

于 2012-03-23T11:38:48.430 回答