Python girdi esnasında basılan her karakteri tek tek kaydetmek

362045

Hectopat
Katılım
25 Ağustos 2020
Mesajlar
678
Çözümler
5
Basılan tuşları algılayan bir kod ya da kütüphane de olur. Girdi alırken basılan her karakter enter tuşuna basılmadan alabilme gibi bir kod gerek.
 
Key Listener tarzı bir yapı kullanmanız gerek. Eğer bunu arkaplanda çalıştırmak istiyorsanız. (Aktif olan pencere dışından da dinleme)
Anti-virüsler Key Logger diye uyaracaktır.

İsim vermem gerekirse;
Pynput kullanılabilir.
Python:
from pynput import keyboard

def on_press(key):
    if key == keyboard.Key.esc:
        return False  # stop listener
    try:
        k = key.char  # single-char keys
    except:
        k = key.name  # other keys
    if k in ['1', '2', 'left', 'right']:  # keys of interest
        # self.keys.append(k)  # store it in global-like variable
        print('Key pressed: ' + k)
        return False  # stop listener; remove this if want more keys

listener = keyboard.Listener(on_press=on_press)
listener.start()  # start to listen on a separate thread
listener.join()  # remove if main thread is polling self.keys

StackOverflow'dan alıntı küçük bir örnek.
 
Sadece ben kayıt başlattığımda kaydetmeye başlamalı. Arka planda olmasına gerek yok. Bot gibi bir şey. Botun bir programa girdi girmesi gibi bir şey var aklımda.
Oyunlardaki gibi wasd tuşlarını kullanmak için fare ile bir boxa tıklamak zorunda kalmadan bastığınız gibi algılıyor ya. Onun gibi.
 
arkaplanda gizlice çalışan yada girdileri ağ üzerinden saldırgana atan birşey değil. sadece tuş girdilerini not defterinde kaydedecek. girdiğim fonksiyonlar sayesinde kendi dışındaki programlarda (örn. messenger gibi mesajlaşma platformları) benim yerime yazabilsin.
 
Sadece tuş girdilerini not defterinde kaydedecek.
Bu tanım bile Key Logger olarak sayılması için yeterli. Düzgün bir AV bu davranışı doğrudan KeyLogging olarak algılayacaktır. AV'ler niyete değil işleve bakar. Verileri kötü niyetli olarak kullanmayacak olmanız bu sonucu değiştirmeyecektir.

Kişisel kullanım içinse (eğer kullanıyorsanız) Anti-Virüs içerisinden ayrıcalık tanımlayabilirsiniz.
 
Bu tanım bile Key logger olarak sayılması için yeterli. Düzgün bir av bu davranışı doğrudan keylogging olarak algılayacaktır. Av'ler niyete değil işleve bakar. Verileri kötü niyetli olarak kullanmayacak olmanız bu sonucu değiştirmeyecektir.

Kişisel kullanım içinse (eğer kullanıyorsanız) Anti-Virüs içerisinden ayrıcalık tanımlayabilirsiniz.

Peki kendi sadece normal bir girdi olarak girsem ve anlık tuş girdilerini kaydetmesem. Antivirüsler programlara girdi yazan bir programı tehdit olarak görürler mi? Eğer cevap hayır ise yazacağım programa sadece başka programlara benim yerime yazmak için kod yazacağım.
 
Uyarı! Bu konu 6 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Bu konuyu görüntüleyen kullanıcılar

Technopat Haberler

Yeni konular

Geri
Yukarı