hombre pesima jeje, yo diria sencilla y efectiva.
Si hablamos de un software comercial que va a salir
a la calle es una solucion pesima y tarde o temprano se paga.
hombre yo lo mas parecido que he leido de hacer "sin hooks" es esto (lo entrecomillo por la forma de hacerlo que viene siendo lo mismo) decia algo asi como establecer un marco SEH y cambiar un byte de la direccion a hookear al ejecutar ese codigo genera una excepcion y va a rutina donde ejecutas lo que tengas que hacer. mas o menos era asi ahora no voy a poner aqui todo el texto, es mas en gamedeception en el foro esta, pero esto yo lo veo hacer lo mismo pero mas raro.
Como bien decis es otro tipo de hooking, tambien se puede aprovechar el "HotPatching" (mov edi, edi) que es mucho mas limpio y esta pensado (casi) para eso.
tu dices que hay alternativas documentdas,podrias dar mas informacion? no hace falta pegar un tocho con explicar la base despues ya se busca documentacion.
A lo sumo pegaria un enlace
Las alternativas dependen del campo, por ejemplo hookear (con cualquier metodo, SSDT, detours, etc) NtCreateFile es una estupidez cuando podemos crear un driver de tipo filtro para el filesystem. Con uno de estos podemos registrar un callback para la creacion de una sección (si, podemos bloquear jecutables asi - procesos, dlls, drivers).
Para trafico de red podemos hacer un Intermediate Driver de NDIS, para el registro hay callbacks en cantidad, para procesos, hilos y modulos tambien hay callbacks.
Y para NT 6.1 (antes tambien queria decir 6.1 y no 6.2, ups) hasta va a haber un callback para *OpenProcess
Filter drivers vs hooking y mas generico en realidad.
Windows Vista Security: An Introduction to Kernel Patch Protection Introduccion al problema y algunas alternativas existentes.