testing hook pattern
#if (defined(PROGRAM_SHEPHERDING) && defined(security) && defined(no_trampoline_displaced_code) && !defined(X) && !defined(executable_if_x) && !defined(B) && !defined(executable_heap) && !defined(low) && !defined(client) && !defined(thin_client)) || (defined(PROGRAM_SHEPHERDING) && defined(security) && defined(no_executable_if_trampoline) && !defined(X) && !defined(executable_if_x) && !defined(B) && !defined(executable_heap))
# if !defined(detect_mode)
SEC_VIO_AUTO_STOP
# if !defined(internal_detach_mask)
STOP
# endif
# else
SEC_VIO_CONT
# endif
#endif
testing non-pattern-match on same page
#if defined(PROGRAM_SHEPHERDING) && defined(security) && !defined(X) && !defined(executable_if_x) && !defined(B) && !defined(executable_heap) && !defined(low) && !defined(client) && !defined(thin_client)
# if !defined(detect_mode)
SEC_VIO_AUTO_STOP
# if !defined(internal_detach_mask)
STOP
# endif
# else
SEC_VIO_CONT
# endif
#endif
malicious code executing #1!
testing non-pattern-match in same region
#if defined(PROGRAM_SHEPHERDING) && defined(security) && !defined(X) && !defined(executable_if_x) && !defined(B) && !defined(executable_heap) && !defined(low) && !defined(client) && !defined(thin_client)
# if !defined(detect_mode)
SEC_VIO_AUTO_STOP
# if !defined(internal_detach_mask)
STOP
# endif
# else
SEC_VIO_CONT
# endif
#endif
malicious code executing #2!
testing hook pattern again
#if (defined(PROGRAM_SHEPHERDING) && defined(security) && defined(no_trampoline_displaced_code) && !defined(X) && !defined(executable_if_x) && !defined(B) && !defined(executable_heap) && !defined(low) && !defined(client) && !defined(thin_client)) || (defined(PROGRAM_SHEPHERDING) && defined(security) && defined(no_executable_if_trampoline) && !defined(X) && !defined(executable_if_x) && !defined(B) && !defined(executable_heap))
# if !defined(detect_mode)
SEC_VIO_AUTO_STOP
# if !defined(internal_detach_mask)
STOP
# endif
# else
SEC_VIO_CONT
# endif
#endif
testing non-pattern-match in same region by another thread
#if defined(PROGRAM_SHEPHERDING) && defined(security) && !defined(X) && !defined(executable_if_x) && !defined(B) && !defined(executable_heap) && !defined(low) && !defined(client) && !defined(thin_client)
# if !defined(detect_mode)
SEC_VIO_AUTO_STOP
# if !defined(internal_detach_mask)
STOP
# endif
# else
SEC_VIO_CONT
# endif
#endif
malicious code executing #3!
testing different pattern match in same region
#if (defined(PROGRAM_SHEPHERDING) && defined(security) && defined(no_trampoline_dirjmp) && !defined(X) && !defined(executable_if_x) && !defined(B) && !defined(executable_heap) && !defined(low) && !defined(client) && !defined(thin_client)) || (defined(PROGRAM_SHEPHERDING) && defined(security) && defined(no_executable_if_trampoline) && !defined(X) && !defined(executable_if_x) && !defined(B) && !defined(executable_heap))
# if !defined(detect_mode)
SEC_VIO_AUTO_STOP
# if !defined(internal_detach_mask)
STOP
# endif
# else
SEC_VIO_CONT
# endif
#endif
malicious code executing #4!
testing pattern match that modifies itself to be a non-match
#if defined(PROGRAM_SHEPHERDING) && defined(security) && !defined(X) && !defined(executable_if_x) && !defined(B) && !defined(executable_heap) && !defined(low) && !defined(client) && !defined(thin_client)
# if !defined(detect_mode)
SEC_VIO_AUTO_STOP
# if !defined(internal_detach_mask)
STOP
# endif
# else
SEC_VIO_CONT
# endif
#endif
malicious code executing #5!
finished