Hackeando el controlador de excepciones: Una historia de DirectX, Flash y modificación de código
Un equipo encontró un problema frustrante al usar `SetUnhandledExceptionFilter` para manejar excepciones no manejadas: Direct3D y Flash estaban instalando sus propios filtros de excepción, haciendo que la solución del equipo fuera ineficaz. Para resolver esto, emplearon una estrategia audaz: deshabilitar directamente la función `SetUnhandledExceptionFilter` mediante la modificación de código para asegurar que su controlador de excepción tuviera prioridad. El artículo detalla el proceso de modificación de código, incluyendo la obtención de la dirección de la función, la verificación de las instrucciones iniciales y el uso de las APIs `VirtualProtect` y `FlushInstructionCache` para la sustitución de código. Su solución restauró la funcionalidad de informes de excepciones.