A 32-bit Windows DLL that tries to prevent its host process from crashing.
It works by
- Creating an Unhandled Exception Filter with Windows API's
SetUnhandledExceptionFilter
. - Using libdisasm to obtain the size of the instruction being pointed to by the
eip
register. - Modifying the context's
eip
register to skip the instruction. - Continuing program execution on the modified context with the
EXCEPTION_CONTINUE_EXECUTION
constant.
Using the program WILL cause UNDEFINED BEHAVIOUR. I take no responsibility for any damages caused by this program. You have been warned.