راصد لوحة المفاتيح keylogger برنامج يهدف لتسجيل جميع الضغطات على المفاتيح على مستوى النظام ويستخدم في عمل إختصارات أو للتجسس على مايكتبه المستخدم.
مبدأ عمل برنامج الـkeylogger أنه يطلب من ويندوز أن يُسجّل خطّاف hook على رسائل النظام الخاصة بلوحة المفاتيح كي يُمررها للبرنامج أولاً بإستخدام الدالة SetWindowsHookEx بالخيار WH_KEYBOARD_LL. ستمرر رسالة ضغط المفاتيج لأحد الدوال التي نُحددها ثم نجعل هذه الدالة تسجّل جميع الرسائل بعد إستخراج النصّ المقابل للزرّ.
كتبت واحد ببايثون بإستخدام ctypes , لايزال بسيط الا أنه يؤدي الغرض ويوصل الفكرة :
# FIXME: an error occurs in Python 2.6 (r26:66721) which seems, so far, a bug in ctypes.
kbhook.stop()
ملاحظة : في إصدار بايثون الذي أستخدمه , 2.6 النسخة r26:66721, يظهر لي الخطأ :
ddrerwecTraceback (most recent call last): File "_ctypes/callbacks.c", line 295, in 'calling callback function' File "C:\Users\Barakat\Desktop\projects\PyHook\keybordhook.py", line 74, in _lowlevelkeyboardproc def _lowlevelkeyboardproc(self, nCode, wParam, lParam): KeyboardInterrupt
عند كل مرّة أحاول فيها إيقاف البرنامج بالضغط على Ctrl-C. أعتقد أنّها علّه في ctypes نفسها. مع الأسف في كل مرّة أضطر لإيقاف مفسّر بايثون من مدير المهام.
تم النشر منذ
السلام عليكم ورحمة الله وبركاته
راصد لوحة المفاتيح keylogger برنامج يهدف لتسجيل جميع الضغطات على المفاتيح على مستوى النظام ويستخدم في عمل إختصارات أو للتجسس على مايكتبه المستخدم.
مبدأ عمل برنامج الـkeylogger أنه يطلب من ويندوز أن يُسجّل خطّاف hook على رسائل النظام الخاصة بلوحة المفاتيح كي يُمررها للبرنامج أولاً بإستخدام الدالة SetWindowsHookEx بالخيار WH_KEYBOARD_LL. ستمرر رسالة ضغط المفاتيج لأحد الدوال التي نُحددها ثم نجعل هذه الدالة تسجّل جميع الرسائل بعد إستخراج النصّ المقابل للزرّ.
كتبت واحد ببايثون بإستخدام ctypes , لايزال بسيط الا أنه يؤدي الغرض ويوصل الفكرة :
طريقة إستخدامه مذكوره, فقط أنشئ كائن من KeybordHook :
وإستدع الوظيفة المسمّاة start بعد تمرير دالة لها تستقبل النصوص التي يرسلها الخطّاف. ولإيقافه إستدع الوظيفة stop :
ملاحظة : في إصدار بايثون الذي أستخدمه , 2.6 النسخة r26:66721, يظهر لي الخطأ :
عند كل مرّة أحاول فيها إيقاف البرنامج بالضغط على Ctrl-C. أعتقد أنّها علّه في ctypes نفسها. مع الأسف في كل مرّة أضطر لإيقاف مفسّر بايثون من مدير المهام.
شارك هذا الرد
رابط المشاركة
شارك الرد من خلال المواقع ادناه