Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые проекты » Моніторинг активності користувача в ОС Windows XP

Реферат Моніторинг активності користувача в ОС Windows XP





le, dwMilliseconds);


3.5 Опис блоків програмного програми


Клієнтський додаток.

Цей додаток виконує наступні дії:

. Запускає і зупиняє процес установки системних пасток

. Виділення Віртуальної області пам'яті

. Створення м'ютексів.

. Виведення інформації в БД з Віртуальної пам'яті

Запуск і зупинка процесу установки системних пасток реалізований у вигляді виклику процедур зберігаються в DLL:

· SetHookKey - HookDllKey.dll

· SetHookProc - HookDllProc.dll

· SetHookMouse - HookDllMouse.dll

Для запуску процесу моніторингу всередині вищеописаних процедур використовується вбудована WinAPI функція SetWindowsHookEx, вона має наступний формат:


HHOOK SetWindowsHookEx (idHook, lpfn, hMod, dwThreadId);


Функція SetWindowsHookEx приймає параметр HINSTANCE, який є покажчиком на DLL, і HOOKPROC - покажчик на фільтр-функцію. необхідний, щоб дізнатися яку DLL потрібно завантажувати в кожен процес. WinAPI функція впроваджує зазначену DLL в адресний простір процесу, а потім викликає фильт-функцію, описану в цій DLL. Необхідність розташування фільтр-функції в DLL пояснюється тим, що DLL з фільтр-функцією проектується системою в адресний простір всіх GUI процесів, що неможливо зробити c допомогою exe додатки.

Параметр idHook визначає тип установлюваної фільтр-функції. Залежно від типу перехоплюваних повідомлень воно приймає одне з наступних значень: WH_CBT, WH_MOUSE, WH_KEYBOARD.

Для зупинки процесу моніторингу використовується вбудована WinAPI функція UnhookWindowsHookEx, вона має наступний формат:


BOOL UnhookWindowsHookEx (

HHOOK hhk);


Так як моніторинг здійснює запис активності користувача не перериваючи системні дії, то всередині фільтр-функцій за допомогою WinAPI функції CallNextHookEx організована передача інформації наступною системної пастці. Функція має наступний формат:


LRESULT CallNextHookEx (

HHOOK hhk,

int nCode,

WPARAM wParam, lParam);


Процес створення об'єкта файлового відображення і створення мьютекса виконаний перед викликом процедур з DLL, за допомогою відповідних функцій, описаних у главах 3.3 та 3.4.

Також в клієнтському додатку описана процедура DumpBufferMapping, яка виконує функцію виведення інформації з буфера в БД, яка представлена ??текстовим файлом. Усередині процедури використані WinAPI функції:

· CreateFile - Створення або відкриття для запису файлу.

· SetFilePointer - Переміщення покажчика позиції всередині файлу.

· WriteFile - Запис у файл.

· ZeroMemory - Обнулення обраного буфера.

Підключення до об'єкта об'єкту файлового відображення всередині всіх DLL організовано в момент проектування копії DLL на адресний простір всіх процесів. Для цього використана функція DLLEntryPoint - функція точки входу, яка отримує як параметр наступні значення:

· DLL_PROCESS_ATTACH - Програма підключається до DLL

· DLL_THREAD_ATTACH - Потік програми підключається до DLL

· DLL_THREAD_DETACH - Потік залишає DLL

· DLL_PROCESS_DETACH - Exe від'єднується від DLL

буффер пам'яті має обмежений обсяг, внаслідок цього всередині DLL організований висновок інформації з буфера в БД, за допомогою процедури DumpBufferMapping.

HookDllKey.dll .

У даній DLL описана фільтр-функція KeyHook. Щоразу при появі в системному потоці процесу, в адресний простір якого була поміщена копія відповідної DLL, повідомлення від клавіатури, WM_KEYUP або WM_KEYDOWN, викликається функція KeyHook яка займається обробкою повідомлення і отримання з нього необхідної інформації.

Усередині даної функції використовуються WinAPI функції GetKeyboardState, ToAscii, GetKeyNameText.- служить для опитування стану клавіш, а також повертає масив з 255 байт, в якому кожен байт містить стан певної клавіші на клавіатуре.- транслює заданий код віртуальної клавіші і стан клавіатури у відповідний символ або символи. Функція транслює код, використовуючи мову введення даних і фізичну розкладку клавіатури, ідентифіковану дескриптором розкладки клавіатури.- витягує рядок, яка представляє назву клавіші, по скан-коду переданому як пар...


Назад | сторінка 10 з 11 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Резидентний оброблювач клавіатури (перехоплення натискань клавіш і запис у ...
  • Реферат на тему: Функція y = ax ^ 2 + bx + c
  • Реферат на тему: Нирки і їх функція
  • Реферат на тему: Репродуктивна функція сім'ї
  • Реферат на тему: Функція і її властивості