Событие pyHook. Время возврата неправильной отметки времени - PullRequest
0 голосов
/ 11 июня 2018

Я кодирую основной кейлоггер в Python.При проверке моего журнала я заметил, что метка времени, которую я записываю с использованием event.Time, не является меткой времени Unix.Что это за отметка времени и как я могу преобразовать ее в читаемый формат?

import pyHook, pythoncom, sys, logging
advancedLog="path\\advanced_log.txt"

def OnKeyboardEvent(event):

    logging.basicConfig(filename=advancedLog, level=logging.DEBUG, format='%(message)s')

    logging.log(10,chr(event.Ascii))
    logging.log(10,'MessageName: {}'.format(event.MessageName))
    logging.log(10,'Message: {}'.format(event.Message))

    logging.log(10,'Time: {}'.format(event.Time))

    logging.log(10,'Window: {}'.format(event.Window))
    logging.log(10,'WindowName: {}'.format(event.WindowName))
    logging.log(10,'Ascii: {}'.format(event.Ascii))
    logging.log(10,'Key: {}'.format(event.Key))
    logging.log(10,'KeyID: {}'.format(event.KeyID))
    logging.log(10,'--------------')

    return True


hookManager = pyHook.HookManager()
hookManager.KeyDown = OnKeyboardEvent
hookManager.HookKeyboard()
pythoncom.PumpMessages()

Вывод, который я получаю:

Time: 561750343

1 Ответ

0 голосов
/ 11 июня 2018

Это не фактическая отметка времени.Это «миллисекунды с момента последней загрузки».Если вы хотите сохранить текущее время, вы можете просто использовать библиотеку time .

Это не «количество секунд с начала эпохи».Он исходит непосредственно из члена time в структуре Win32 EVENTMSG, которая выражается в единицах «миллисекунд с момента последней загрузки».

Источник: Python.org

...