image

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

Hook یک تابع callback میباشد که به برنامه این امکان را میدهد تا اطلاعات قبل از رسیدن به مقصد، آنها را دریافت کند و hook میتواند این اطلاعات را قبل از رسیدن به مقصد وارسی یا تغییر دهد. ویندوز دارای هوک‌های مختلفی میباشد که هر نوع به منظور دسترسی به اطلاعات خاصی طراحی شده‌اند. برای مثال میتوان با استفاده از WH_MOUSE hook پیغامهای مربوط به موس را مانیتور نمود. هنگامی که برنامه از یکی از این تابع callback که آنرا hook procedure می نامنداستفاده کند هنگامی که پیغامی که وابسته به ان هوک باشد ارسال شود ویندوز آن پیغام را به hook مورد نظر که به ثبت رسیده باشد ارسال میکند.

موارد استفاده از هوک‌ها
همانطور که گفته شد با هوک کردن می توان قسمتی از ویندوز را capture کرد. به همین دلیل میتوان از آن برای موارد زیر استفاده نمود:
– تغییر مکانیسم یا روند اجرای برنامه
– دیباگ و مهندسی معکوس
– کشف قابلیت مخفی سیستم عامل

انواع هوک‌ها
۲ نوع هوک وجود دارد LocalHook و System Wide Hook
Local Hook بر روی یک برنامه یا یک thread نصب می شود و کدها درون برنامه قرار می گیرد اما System Wide Hook بر روی همه برنامه ها و Therad ها اجرا می شود و کدها درون فایل‌های dll قرار میگرد.

Hook Chain چیست؟
Hook chain بخشی از سیستم عامل می باشد که hook .ها در انجا ثبت می شوند.
به مجموعه تمام هوک‌های ویندوز Windows Hooks گوییم.