кто может и желает, поделитесь знанием, как делать keylogger
От: ksd Россия  
Дата: 25.07.18 13:54
Оценка:
сабж. архитектура в общих словах. всегда можно конкретно, конечно. если что, инжектор своего кода в чужие процессы есть.
Re: кто может и желает, поделитесь знанием, как делать keylogger
От: CEMb  
Дата: 26.07.18 03:18
Оценка:
Здравствуйте, ksd, Вы писали:

ksd>сабж. архитектура в общих словах. всегда можно конкретно, конечно. если что, инжектор своего кода в чужие процессы есть.


SetWindowsHookEx, WH_KEYBOARD_LL
Re[2]: это понятно, как вариант...
От: ksd Россия  
Дата: 26.07.18 13:46
Оценка:
Здравствуйте, CEMb, Вы писали:

CEM>Здравствуйте, ksd, Вы писали:


ksd>>сабж. архитектура в общих словах. всегда можно конкретно, конечно. если что, инжектор своего кода в чужие процессы есть.


CEM>SetWindowsHookEx, WH_KEYBOARD_LL

теоретическая статья более подробна
интересно мнение практиков.
Re[3]: это понятно, как вариант...
От: vladimir.romin  
Дата: 26.07.18 13:48
Оценка:
Здравствуйте, ksd, Вы писали:

ksd>интересно мнение практиков.


Антивирусы забанят такой проект в зародыше.
Re: кто может и желает, поделитесь знанием, как делать keylogger
От: VladFein США  
Дата: 26.07.18 21:34
Оценка: +1 -1
Здравствуйте, ksd, Вы писали:

ksd>сабж. архитектура в общих словах. всегда можно конкретно, конечно. если что, инжектор своего кода в чужие процессы есть.


В приличном обществе такие вопросы не задают. Ну или не отвечают.
Re: кто может и желает, поделитесь знанием, как делать keylogger
От: bc_kaya  
Дата: 12.01.19 14:46
Оценка:
Здравствуйте, ksd, Вы писали:

ksd>сабж. архитектура в общих словах. всегда можно конкретно, конечно. если что, инжектор своего кода в чужие процессы есть.


Не обязательно устанавливать хук. Можно просто опрашивать кнопки с помощью средств, предоставляемых операционной системой
Re[2]: кто может и желает, поделитесь знанием, как делать keylogger
От: CEMb  
Дата: 14.01.19 02:36
Оценка:
Здравствуйте, bc_kaya, Вы писали:

ksd>>сабж. архитектура в общих словах. всегда можно конкретно, конечно. если что, инжектор своего кода в чужие процессы есть.


_>Не обязательно устанавливать хук. Можно просто опрашивать кнопки с помощью средств, предоставляемых операционной системой


Это как? В смысле, какой pipeline этого процесса? По таймеру? Асинхронно?
Re[4]: это понятно, как вариант...
От: CEMb  
Дата: 14.01.19 02:37
Оценка:
Здравствуйте, vladimir.romin, Вы писали:

ksd>>интересно мнение практиков.


VR>Антивирусы забанят такой проект в зародыше.


Да вроде нет. У меня не кей-логгер, а перехватчик, да ещё и в режиме админа(не знаю, как это обойти). Вроде не банят.
Re[3]: кто может и желает, поделитесь знанием, как делать keylogger
От: IID Россия  
Дата: 15.01.19 01:17
Оценка:
Здравствуйте, CEMb, Вы писали:

CEM>Это как? В смысле, какой pipeline этого процесса? По таймеру? Асинхронно?


Асинхронно, GetAsyncKeyState.

Ещё можно через DirectX: IDirectInputDevice::GetDeviceState.
kalsarikännit
Re: кто может и желает, поделитесь знанием, как делать keylogger
От: IID Россия  
Дата: 15.01.19 01:19
Оценка: 5 (1)
Здравствуйте, ksd, Вы писали:

ksd>если что, инжектор своего кода в чужие процессы есть.


Это лишнее. Весь реальный ввод проходит в UM через игольное ушко csrss.

Остаются только всякие экранные клавиатуры. Которые, скорее всего, делают SendInput.
Или вообще без сообщений обходятся, если внутрипроцессные — такие не перехватишь в общем виде.
kalsarikännit
Re[4]: кто может и желает, поделитесь знанием, как делать keylogger
От: CEMb  
Дата: 16.01.19 02:08
Оценка:
Здравствуйте, IID, Вы писали:

CEM>>Это как? В смысле, какой pipeline этого процесса? По таймеру? Асинхронно?


IID>Асинхронно, GetAsyncKeyState.


IID>Ещё можно через DirectX: IDirectInputDevice::GetDeviceState.


Но это же надо делать по таймеру?
А! И, самое главное для кейлоггера — как определить порядок нажатия кнопок?

А так да, самый нормальный вариант, видимо, драйвер. Но его надо подписывать.
Re[5]: кто может и желает, поделитесь знанием, как делать keylogger
От: IID Россия  
Дата: 16.01.19 04:49
Оценка:
Здравствуйте, CEMb, Вы писали:

CEM>Но это же надо делать по таймеру?


Ты имеешь в виду оконный таймер ? Зачем ? Создай отдельный тред и жди на несигнальном обьекте выхода. Например 10ms.

CEM>А! И, самое главное для кейлоггера — как определить порядок нажатия кнопок?


Не понимаю вопрос. Ты получаешь слепок состояния клавиатуры N раз в секунду. Порядок из него получается естественным образом.

CEM>А так да, самый нормальный вариант, видимо, драйвер. Но его надо подписывать.


Нет, это плохой вариант. Драйвер не знает кому уйдёт клавиатурный ввод. А с экранными клавиатурами вообще беда-беда.
kalsarikännit
Re[6]: кто может и желает, поделитесь знанием, как делать keylogger
От: CEMb  
Дата: 17.01.19 02:41
Оценка:
Здравствуйте, IID, Вы писали:

CEM>>Но это же надо делать по таймеру?


IID>[...]жди на несигнальном обьекте выхода.


О, можно с этого места подробнее?
Re[7]: кто может и желает, поделитесь знанием, как делать keylogger
От: IID Россия  
Дата: 17.01.19 07:11
Оценка:
Здравствуйте, CEMb, Вы писали:

IID>>[...]жди на несигнальном обьекте выхода.


CEM>О, можно с этого места подробнее?


Ты серъёзно ?
Manual Reset Event как Stop Detector + WaitFor[Single/Multiple]Object с таймаутом.
Проверяем результат выхода.
Если засигналилось событие — сворачиваем работу потока. Иначе — выполняем действие.
На это же событие вешаем ожидание и в других подобных рабочих потоках. Просто и удобно.
kalsarikännit
Re: кто может и желает, поделитесь знанием, как делать keylogger
От: -prus-  
Дата: 17.01.19 09:55
Оценка: 9 (1)
Здравствуйте, ksd, Вы писали:

ksd>сабж. архитектура в общих словах. всегда можно конкретно, конечно. если что, инжектор своего кода в чужие процессы есть.


Почитайте Windows Keylogger Part 1: Attack on user land.
Я в свое время делал через RegisterRawInputDevices.
С уважением,
Евгений
Re[8]: кто может и желает, поделитесь знанием, как делать keylogger
От: CEMb  
Дата: 18.01.19 03:27
Оценка:
Здравствуйте, IID, Вы писали:

CEM>>О, можно с этого места подробнее?


IID>Ты серъёзно ?

да
IID>Manual Reset Event как Stop Detector + WaitFor[Single/Multiple]Object с таймаутом.
что такое "Manual Reset Event как Stop Detector"?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.