Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Лог файл нажатия клавиш  (Прочитано 9555 раз)
0 Пользователей и 1 Гость смотрят эту тему.
NeroMan
Гость
« : 30-07-2004 09:53 » 

В общем-то проблема состоит вот в чем. Я занимаюсь по роду своей деятельности защитой информации. Недавно получил задание - нужно отслеживать определенные подразделения. Первое с чего я начал - решил написать клавиатурного шпиона. Пишу в основном на Delphi, но с Си знаком немного. Идея установки hook'ов мне не очень понравилась, их можно вычислить. Поэтому решено было использовать драйвер фильтра верхнего уровня для клавиатуры. Благо в свое в%F
0емя я писал на DDK. Разработка была для Windows NT/2000. Все бы хорошо, но возникла проблема - как передать все, что я отловил в файл (тут проблема - ведь напрямую писать в файл из ядра нельзя) ? Попытался передавать данные через сокеты, но столкнулся с другой проблемой - в DDK драйвера пишутся на чистом Си и библиотеку winsock.h (С++) использовать нельзя. Ее придется долго и больно переписывать. Знаю что каким-то образом можно передать данные в пользовательское приложение. Но как это сделать, пока не разобрался( Нужна помощь спецов.
Записан
biglol no comments
Гость
« Ответ #1 : 30-07-2004 10:57 » 

lol

Цитата

Пишу я в основном на Delphi.



lol

Цитата

тут проблема - ведь напрямую писать из ядра нельзя


lol

Цитата

в DDK драйвера пишутся на чистом Си и winsock.h напрямую использовать нельзя



lol

Цитата

можно передать данные в пользовательское приложение - но как это сделать, пока не разобрался
Записан
NeroMan
Гость
« Ответ #2 : 30-07-2004 13:26 » 

Для особо "одаренных" - поправил пост. Лучше бы советом помогли:(
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #3 : 30-07-2004 13:28 » 

biglol no comments, бросай курить эту дрянь , загнёшься раньше старости
Записан

Scorp__)
Молодой специалист

ru
Offline Offline
Пол: Мужской

« Ответ #4 : 02-08-2004 19:51 » 

NeroMan, можно создать свой IO_CTL код. Из приложения открываешь устройство созданное в твоем драйвере (CreateFile(..., ////MyDevice,...)) не забудь в драйвере создать это имя доступное для использования. Я с этим уже накалывался Улыбаюсь Потом DeviceIoControl с полученным хендлом и IO_CTL кодом, который ты создал.
В твой драйвер передается тогда IRP пакет, который обрабатывается IoControlDispatchRoutine. У этого пакета есть входной и выходной буфер, туда можно пихать любую информацию, как со стороны приложения так и со стороны драйвера.

Почитай в общем DDK насчет DeviceIoControl, там все более-менее понятно Улыбаюсь

Вот только пользовательское приложение также можно отследить как и хук Жаль
Записан

- А Вы сами-то верите в привидения?
- Конечно, нет, - ответил лектор и медленно растаял в воздухе.
NeroMan
Гость
« Ответ #5 : 03-08-2004 02:16 » 

Dll отслеживать не такая тривиальная задача как кажется... Особенно если ее прикрепить к Explorer'у...


Уже разобрался как можно сделать, всем спасибо.
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines