استفاده از هوک، یکی از مباحث تکنیکی مطرح در زمینه برنامه‌نویسی سیستمی بوده که کاربرد بسیاری در ساخت برنامه‌های کنترل کننده سیستم عامل دارد.

هوک به معنی ایجاد شنود بر روند اجرای وقایعی مانند فراخوانی توابع، ارسال پیامها و پاسخ به رخدادها در سیستم عامل می‌باشد. از این تکنیک در ساخت نرم‌افزارهایی مانند آنتی‌ویروسها، فایروالها، دیباگرها، نرم‌افزارهای جاسوسی و ویروسها استفاده می‌شود.

در این مقاله روشهایی جهت شنود بر توابع API معرفی و تشریح شده و در پایان، ساختار فایلهای اجرایی ویندوز و نحوه اجرای آنها در سیستم عامل مورد بررسی قرار می‌گیرد.
البته این مقاله را بیش از دو سال پیش نوشته‌ام و هدفم از نوشتن آن فقط معرفی اجمالی و کلی این مبحث بوده است. اما با این وجود، مقاله به قدر کفایت کامل بوده و برنامه‌نویسان غیر مطلع از مبحث نیز میتوانند مطالب مطرح شده را متوجه شوند. رئوس ذیل، مطالب و مباحث اصلی ذکر شده در مقاله میباشند:

هوک چیست
فواید استفاده از هوک
ساختار کلی هوک
پیامهای مورد استفاده در هوک
WH_CALLWNDPROC, WH_CALLWNDPROCRET, WH_CBT, WH_DEBUG, WH_GETMESSAGE, WH_JOURNALPLAYBACK, WH_JOURNALRECORD, WH_KEYBOARD, WH_MOUSE, …
شنود بر توابع API
استفاده از رجیستری
استفاده از DLL واسطه
تغییر در خود تابع API
تغییر فراخوانیها
تغییر در IAT (Import Table Address)
نگاهی کوتاه به ساختار فایل PE
روند اجرای فایلهای PE


دریافت مقاله: نگاهی اجمالی به هوکهای ویندوز (Short view of windows hooks)

Print this pageEmail this to someoneShare on Google+Share on FacebookShare on LinkedInTweet about this on TwitterShare on RedditShare on TumblrShare on StumbleUponPin on Pinterest