Кроссплатформенный кейлоггер - PullRequest
9 голосов
/ 13 декабря 2008

Я ищу способы просмотра событий мыши и клавиатуры в Windows, Linux и Mac из Python.

Мое приложение отслеживает время. Я не смотрю на событие, я просто записываю время, когда оно происходит. Если в течение определенного времени нет событий, скажем, 10 минут, я предполагаю, что пользователь ушел и остановил текущий проект.

Когда пользователь возвращается (события приходят снова), я подожду (так что это не будет вызвано уборщицами, вашими домашними животными или землетрясением). Если события продолжаются в течение более длительного периода времени, я предполагаю, что пользователь вернулся, и я выскакиваю небольшое неактивное окно, в котором он может выбрать добавление временного интервала для «перерыва», текущего проекта (встречи и т. Д.) Или другой проект.

Я решил кейлоггер для Windows, используя pyHook .

В Linux я нашел решение, но оно мне не нравится: я могу наблюдать за всеми узлами устройства в / etc / input и обновлять временную метку где-то в / var или / tmp каждый раз, когда вижу событие. Есть два недостатка: 1. Я не могу сказать, происходит ли событие от пользователя, который запускает таймер и 2. Эта маленькая программа должна быть запущена от имени пользователя root (не очень хорошо).

На Mac пока не знаю.

Вопросы:

  1. Есть ли лучший способ узнать, создает ли пользователь события, чем просмотр устройств событий в Linux?

  2. Есть указания, как это сделать на Mac?

Ответы [ 2 ]

10 голосов
/ 13 декабря 2008

Есть пара приложений с открытым исходным кодом, которые могут дать вам несколько указателей:

  • PyKeylogger - это кейлоггер Python для Windows и Linux
  • logKext - это кейлоггер c ++ для mac
8 голосов
/ 15 января 2010

Отличная статья о Написание клавиатурных шпионов ядра Linux
http://www.phrack.com/issues.html?issue=59&id=14#article

Если вы пытаетесь запустить honeypot, обязательно попробуйте Себек:
https://projects.honeynet.org/sebek/

Sebek - это инструмент для сбора данных, разработанный чтобы захватить действия злоумышленника на honeypot, без злоумышленника (надеюсь), зная это. Имеет два компоненты. Первый клиент, который работает на honeypots, его цель захватить всех нападавших действия (нажатия клавиш, загрузка файлов, пароли) затем тайно отправьте данные на сервер. Второй компонент сервер, который собирает данные из приманки. Сервер обычно работает на Honeywall шлюз, но также может работать независимо. Для получения дополнительной информации о Себек, пожалуйста, смотрите http://www.honeynet.org/tools/sebek

Но, если вы предпочитаете следовать сценарию детского маршрута / не учиться, попробуйте следующие приложения:

LINUX
http://sourceforge.net/projects/lkl/

WINDOWS
http://www.rohos.com/kid-logger/
http://code.google.com/p/freelogger/


СОВЕТ: Вам лучше писать свои собственные в целях обучения и получения прибыли.

...