Sep 9, 2019 09:49 PM
(This post was last modified: Sep 10, 2019 02:43 AM by Tr0jandog.)
Hello guys, I'm a student trying to learn hooking, right now trying to hook explorer to get notified when a new process gets created (please let me know if there is any better method in userland)
i successfully hooked the task manager in win 10 and 7, 64 bit, to hide a process
now the thing is, that worked because NtQuerySystemInformation was inside the IAT of task manager in both 7 and 10, so it did import it ( this also meant windows own binaries do link up against ntdll.lib so they can use its functions directly without getprocaddress)
now there is no NtCreateProcess or CreateProcessInternalW in the explorer.exe's IAT! (right now trying with windows 7) and only CreateProcessW, and this means it has to be using it, otherwise why would the compiler put it in the IAT? why doesnt explorer have NtCreateProcess inside its IAT unlike task manager which does have NtQuery, and still doesn't use one that it does import (CreateProcessW)
but the problem is, it doesn't get used from IAT, it does gets called but it doesnt get the address from IAT and doing xref in xdbg didnt give any valid info
so why is this happening? why is explorer.exe importing it but not using it via IAT?
thanks in advance!
i successfully hooked the task manager in win 10 and 7, 64 bit, to hide a process
now the thing is, that worked because NtQuerySystemInformation was inside the IAT of task manager in both 7 and 10, so it did import it ( this also meant windows own binaries do link up against ntdll.lib so they can use its functions directly without getprocaddress)
now there is no NtCreateProcess or CreateProcessInternalW in the explorer.exe's IAT! (right now trying with windows 7) and only CreateProcessW, and this means it has to be using it, otherwise why would the compiler put it in the IAT? why doesnt explorer have NtCreateProcess inside its IAT unlike task manager which does have NtQuery, and still doesn't use one that it does import (CreateProcessW)
but the problem is, it doesn't get used from IAT, it does gets called but it doesnt get the address from IAT and doing xref in xdbg didnt give any valid info
so why is this happening? why is explorer.exe importing it but not using it via IAT?
thanks in advance!

