El hook no es global, si modificas una pagina de memoria de una DLL esta deja de estar compartida y el proceso donde la modificaste tiene una copia privada propia. Tenes que inyectar en todos los procesos o trabajar en modo Kernel ...
PD. Igual la idea es evitar que abran un HANDLE a tu proceso ya que por ejemplo si solo hookearas TerminateProcess podrian matar tu proceso creando un hilo que llame a ExitProcess o que lea un puntero nulo, etc..
PD. Igual la idea es evitar que abran un HANDLE a tu proceso ya que por ejemplo si solo hookearas TerminateProcess podrian matar tu proceso creando un hilo que llame a ExitProcess o que lea un puntero nulo, etc..