قبلاز معرفی ساختار 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 گوییم.