BlackBerry
April 5th, 2008, 04:34
Hello,
I was doing some Windows reversing about Windows hooks that can be set thru SetWindowsHookEx.
I saw that, after a call to SetWindowsHookEx, there's a direct call thru KiFastSystemCall to Win32k!NtUserSetWindowsHookEx.
Now, I'm going to reverse this but, anyway, I try to ask if anyone has already did it and could help me.
Every hook, global or local, is added in a hook chain, a linked list checked by Windows to have hooks working. Every new hook is added to the head of the this linked list.
Has anyone already reversed the struct used by Windows for this linked list and where the function NtUserSetWindowsHookEx gets the address to the head of this linked list?
I wasn't looking for the struct used for different kind of hooks - those are already documented by Microsoft. I'm looking for the struct used to define the linked list where the hooks are added.
Many thanks in advance
I was doing some Windows reversing about Windows hooks that can be set thru SetWindowsHookEx.
I saw that, after a call to SetWindowsHookEx, there's a direct call thru KiFastSystemCall to Win32k!NtUserSetWindowsHookEx.
Now, I'm going to reverse this but, anyway, I try to ask if anyone has already did it and could help me.
Every hook, global or local, is added in a hook chain, a linked list checked by Windows to have hooks working. Every new hook is added to the head of the this linked list.
Has anyone already reversed the struct used by Windows for this linked list and where the function NtUserSetWindowsHookEx gets the address to the head of this linked list?
I wasn't looking for the struct used for different kind of hooks - those are already documented by Microsoft. I'm looking for the struct used to define the linked list where the hooks are added.
Many thanks in advance
