You Won't Learn This in School: Disabling Kernel Functions in Your Process(2009)
a year ago
- #Windows
- #Debugging
- #Low-Level
- 文章讨论了一个问题:Direct3D和Flash通过反复安装自己的异常处理器,干扰了未处理异常过滤器,导致崩溃报告不可靠。
- 解决方案是在安装自定义异常处理器后禁用`SetUnhandledExceptionFilter`函数,确保自定义异常处理器保持生效。
- 该方法通过代码修改将函数序言替换为返回语句,从而无效化对`SetUnhandledExceptionFilter`的调用。
- 文章提供了详细的代码片段,展示如何安全地在内存中修改函数,包括修改前检查预期代码是否存在。
- 评论区的讨论涉及新版Windows的潜在问题、对其他进程的影响,以及IAT挂钩等替代方案。
- 该技术被证实可在包括Vista在内的现代Windows版本上使用,并被视为用户模式API操作的有效方法。
- 评论还探讨了此类技术的潜在影响,包括其在恶意软件中的应用,以及理解Windows底层机制的重要性。