السلام عليكم ..
بدلا من وضع الأكواد كما قال DeltaAziz الآن لدي بعض الأسئله ..
من خلال قراءتي وجدت أن هناك طرقا كثيرة تمكنك من خلالها عمل Hook لل على سبيل المثال:
(1) Windows Subclassing
(2) The stub Approach - Proxying DLL
(3) Code Overwriting - Detouring
(4) BreakPoint via Debugger
(5) Altering the IAT
بعض هذه الطرق تستخدم ال SetWindowsHookEx و البعض الآخر يستخدم CreateRemoteThread
ما الفرق بين الطريقتين و هل صحيح أن SetWindowsHookEx تستعمل فقط لعمل Hook لل كيبورد و الماوس؟
ما هو الفرق بين ال Hooking و ال Wrapping؟
لماذا نستخدم هذا الكود في البرنامج؟
#pragma comment(linker, "/SECTION:SHARED,RWS")
#pragma data_seg("SHARED")
HANDLE hInstance = (HANDLE)NULL; //Global instance handle for DLL
HHOOK hHookSys = NULL; //Handle for WH_SYSMSGFILTER hook
HHOOK hHookMse = NULL; //Handle for WH_MOUSE hook
#pragma data_seg()و شكرا ..