Necesito monitorear una secuencia de llamadas API creada por un proceso que se ejecuta en Microsoft Windows, para analizar el comportamiento del malware.
Sé que podemos hacer monitoreo de modo usuario o modo kernel. He intentado algunas herramientas que pueden interceptar llamadas de API, como Detours, EasyHook y NTHookEngine, pero todas ellas, en mi opinión, utilizan la supervisión del modo usuario. Esto hace que sea imposible para ellos detectar el malware que se ejecuta en el modo kernel (como los rootkits).
Si intentamos enganchar la llamada a la API usando Detours o EasyHook, tenemos que definir nuestra propia función de enganche, que en este caso no necesito. Solo necesito saber la función que está siendo llamada por un proceso monitoreado y sus parámetros.
¿Hay alguna forma de hacerlo de manera eficiente (pocas líneas de códigos) y efectiva (modo de usuario y monitor de modo de kernel)?