Bonjour, je me pose une question conernant la fonction
SetWindowsHookEx, notamment concernant l'injection de la DLL. J'ai en effet un programme de hook qui change les adresses des APIs dans l'
IAT, pour que la DLL soit injectée dans les applications cibles j'utilise un
WH_CBT, voice le code :
LRESULT CALLBACK HookProc(int nCode, WPARAM wParam, LPARAM lParam)
{
return CallNextHookEx(hHook, nCode, wParam, lParam);
}
extern "C" AVHOOKDLL_API void InstallHook()
{
// Lance le hook
if(!hHook) hHook = SetWindowsHookEx(WH_CBT, HookProc, hThisMod, 0);
}
extern "C" AVHOOKDLL_API void UninstallHook()
{
// Stop le hook
UnhookWindowsHookEx(hHook);
hHook = NULL;
}La question que je me pose est assez cheloue ; je me demandais quand est-ce que
SetWindowsHookEx injectait la DLL dans les processus cibles, je voudrai connaître l'ordre des événements en quelques sortes. Par exemple dans ce code, je pense que
SetWindowsHookEx détecte un événement WH_CBT, injecte la DLL dans le processus en question. Car lorsque je fais les tests sur ma machine, la DLL est injectée seulement lorsqu'un événement de ce type arrive. J'aimerais avoir une confirmation, parce que je n'en suis pas sûr, parce que sinon quand est-ce que le procedure de hook est appelée ??
Merci.
___________________
MVS -
Most Valuable Student ( Microsoft)