Setup phase. Triggered by initial exception. We prepare breakpoints and scan for the syscall gadget without modifying normal execution flow.
Execution phase. Triggered when execution reaches our monitored breakpoints inside ntdll. We hijack and inject the syscall from legitimate system code context.