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
eipregister. - Modifying the context's
eipregister to skip the instruction. - Continuing program execution on the modified context with the
EXCEPTION_CONTINUE_EXECUTIONconstant.
Using the program WILL cause UNDEFINED BEHAVIOUR. I take no responsibility for any damages caused by this program. You have been warned.