Título: Equivalente a SetWindowsHookEx en modo kernel? Publicado por: Zzombi en 31 Julio 2010, 06:52 am Hola a todos.
bueno esa es la duda... asi como OpenProcess tiene su equivalente en modo kernel (ZwOpenProcess) me preguntaba si SetWindowsHookEx tiene algun equivalente. Saludos. Título: Re: Equivalente a SetWindowsHookEx en modo kernel? Publicado por: Littlehorse en 31 Julio 2010, 07:32 am No, no lo tiene. Que es lo que queres hacer exactamente? porque a simple vista como mínimo estas encarando el problema con un planteo incorrecto.
Saludos! Título: Re: Equivalente a SetWindowsHookEx en modo kernel? Publicado por: Eternal Idol en 31 Julio 2010, 16:01 pm Mas que equivalente es la funcion que implementa realmente la funcionalidad (valga la redundancia) y existir existe (idem ;D):
Código
De cualquier manera estoy de acuerdo con Littlehorse, mejor plantea el problema y no la solucion que crees posible. Título: Re: Equivalente a SetWindowsHookEx en modo kernel? Publicado por: Zzombi en 31 Julio 2010, 18:01 pm Hola LittleHorse y eternal
la verdad que estoy intentando hacer un anti keylogger... y pense que hookeando al equivalente de SetWindowsHookEx seria un buen comienzo.. ya que es una de las formas que se suele usar para intervenir el teclado Eternal, con que aplicación vez eso? nunca habia visto NtUserSetWindowsHookEx :o en la msdn tampoco aparece Gracias ;D Título: Re: Equivalente a SetWindowsHookEx en modo kernel? Publicado por: Eternal Idol en 31 Julio 2010, 18:44 pm Te aviso que ademas de los keyloggers que usan ese metodo (todos de modo Usuario) existen los de modo Kernel (un filtro por ejemplo) y los de hardware.
Eso lo veo con el WinDbg (http://www.microsoft.com/whdc/devtools/debugging/default.mspx) de Microsoft. Título: Re: Equivalente a SetWindowsHookEx en modo kernel? Publicado por: Zzombi en 31 Julio 2010, 19:05 pm Te aviso que ademas de los keyloggers que usan ese metodo (todos de modo Usuario) existen los de modo Kernel (un filtro por ejemplo) y los de hardware. lo se :P pero por ahora me encargare de los de modo usuario :xD pd: no he podido encontrar la declaración de NtUserSetWindowsHookEx :-\ EDIT........... creo que la encontre Código
Título: Re: Equivalente a SetWindowsHookEx en modo kernel? Publicado por: Littlehorse en 31 Julio 2010, 21:11 pm No podes hookear el equivalente porque no existe el equivalente, ese tipo de eventos van de la mano con el modo usuario. Existe la implementación, pero dista de ser una equivalencia en modo kernel, de hecho SetWindowsHookEx es solo un wrapper de lo que ya te mostró Eternal.
Hay muchas formas de hacer un keylogger en modo usuario, algunas serán mejores que otras, pero evitando una no implica evitar las otras. Por lo tanto, si intentas hacer un método que evite un tipo especifico, te vas a volver loco para evitarlos todos. Lo principal es que tengas en claro el diagrama del sistema y en cuenta todas las formas que hay para interceptar eventos (por lo menos la mayoría). Partiendo de ahí, podes ingeniar algo que acabe con gran parte de esos métodos, pero luego tendrás que meterte indefectiblemente con los que te menciona Eternal, que de hecho los filtros de modo kernel son muy comunes en los rootkits. No se si los habrás leído, pero si todavía no lo hiciste, recomendado que te metas con: "Programming the Microsoft Windows Driver Model" "Rootkits - Subverting the Windows Kernel" En cuanto al WinDBG, carga Win32k.sys, y luego pasas como comando al WinDBG: Código: uf ntusersetwindowshookex Saludos! |