نوشتن keylogger نرم‌افزاری

Windows hook

هسته بسیاری از keyloggerها با استفاده از مکانیزم Windows hook بنا شده است. Hook نقطه‌ای در مکانیزم مدیریت پیام‌های سیستم ویندوز است که برنامه‌های مختلف می‌توانند با نصب یک زیربرنامه ترافیک پیام‌ها را قبل از رسیدن به برنامه مقصد شنود نمایند. Hook پانزده نوع دارد که هر یک از آنها به رویدادی خاصی از سیستم مرتبط هستند. پروتوتایپ hook به صورت زیر است:

 

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

یک زیربرنامه hook‌ می‌تواند بر ارسال پیام در زنجیره hook‌ نظارت داشته و یا آن را تغییر دهد. علاوه ‌بر این امکان ممانعت از رسیدن پیام به زیربرنامه بعدی در لیست و یا به برنامه مقصد وجود دارد.

تابع SetWindowsHookEx  که پروتوتایپی مشابه زیر دارد یک زیربرنامه در ابتدای زنجیره hook قرار می‌دهد.

 

نمونه‌های مختلفی از متن برنامه‌های Keylogger از سایت http://www.planetsourcecode.com قابل دریافت است. در صورتی آشنایی با طرز کار windows hooks نوشتن keylogger‌ دشوار نبوده و نیاز به کد زیادی ندارد. تابع InstallHook که از یکی از keyloggerها برداشته شده است فایلی که برای ثبت گزارشات استفاده می‌شود را مشخص نموده، زیربرنامه ثبت فعالیت‌های صفحه‌کلیدKeyboardProc را در زنجیره hook نصب می‌کند. این کار با فراخوانی تابع SetWindowsHooksEx انجام می‌شود.


ادامه نوشته

Keylogger چیست؟

Keylogger یا کی لاگر یک نرم افزار یا وسیله ای سخت افزاری است که به کمک آن هر عملی را که یک کامپیوتر انجام می دهد در حافظه ای ذخیره می شود. و از آن جمله همه کارهایی است که شما با صفحه کلید خود انجام می دهید.

Keylogger در شرکت های کامپیوتری برای عیب یابی مشکلات فنی و حرفه ای مورد استفاده قرار می گیرد. کی لاگر همچنین می تواند در خانه یا سازمان ها مورد استفاده واقع شود تا فعالیت های کامپیوتری افرادی را که در خانه یا در سازمان هستند بدون اینکه خودشان بفهمند زیر نظر بگیرند. به عبارت دیگر به این روش می توان فعالیت های کامپیوتری فرزندان خود را زیر نظر بگیرید تا در دنیای مجازی در دام افراد ناباب نیفتند. یا یک سازمان به این روش می تواند مانع از دزدی اطلاعات و اسرارش شود. از Keylogger  ها به یک روش دیگر هم استفاده می شود برای دزدی اطلاعات محرمانه افراد مانند رمز های عبور، اطلاعات حساب بانکی و... .

نرم افزار های Keylogger را می توان به صورت مجانی در اینترنت یافت. و این نرم افزار ها نه تنها می توانند کلیه کارهایی که با  کی برد انجام می شوند (مانند تایپ یک نامه) را ثبت کنند بلکه می توانند مجموعه ای از تصاویر صفحه نمایش را ذخیره کنند. تا بعدا مورد استفاده یا سوء استفاده دیگران قرار گیرند. برنامه های معمولی Keylogger  اطلاعات را در هارد دیسک همان کامپیوتری که روی آن نصب شده اند ذخیره می کنند ولی بعضی از آنها به گونه ای برنامه ریزی شده اند که به صورت خودکار از طریق اینترنت یا شبکه به کامپیوتری دیگری که ممکن است کیلومتر ها آنطرف تر باشد بفرستند.

شناسایی Keylogger  ها کار ساده ای نیست و برای این منظور به یک نرم افزار که برای حذف Keylogger ها طراحی شده باشد نیاز دارید به این نرم افزار ها Anti-Keylogger می گویند و اگر از این نرم افزار ها به درستی استفاده شوند معمولاً می توانند به خوبی Keylogger  ها را حذف کنند.