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

Реферат Перехоплення функцій ядра Windows для захисту процеса





стор

2.а. С. Моляков Дослідження ядра Windows NT 5.1 на цільовій платформі Intel 3000. Систематичний пошук декларованих можливостей. Компанія Супутник +. 2006 р. - 130 стор

3.Свен Шрайбер Недокументовані можливості Windows 2000. Пітер. 2002 р. - 544 стор

. В. П. Солдатов Програмування драйверів Windows. Біном-Пресс. 2009 р. - 576 стор

. Світлана Сорокіна, Андрій Тихонов, Андрій Щербаков Програмування драйверів і систем безпеки. БХВ-Петербург. 2008 - 256стор.

. Гері Неббет Довідник з базових функцій API Windows NT/2000. ISBN 5-8459-0238-X. 2002р.- 528стр.

. Валерія Коміссарова Програмування драйверів для Windows. БХВ-Петербург. 2007р.- 256 стор


Додаток 1.

Початковий код драйверу режиму ядра, компілятор WDK, мова-С


# include PVOID * PNTPROC; DWORD (ULONG); DWORD * PDWORD; unsigned char (BYTE); BYTE * PBYTE; struct _SYSTEM_SERVICE_TABLE

{ServiceTable; CounterTable; ServiceLimit; ArgumentTable;

} _SERVICE_TABLE,

* PSYSTEM_SERVICE_TABLE,

** PPSYSTEM_SERVICE_TABLE; struct _SERVICE_DESCRIPTOR_TABLE {_SERVICE_TABLE ntoskrnl;// SST для ntoskrnl.exe_SERVICE_TABLE win32k;// SST для win32k.sys_SERVICE_TABLE unused1; _SERVICE_TABLE Unused2;

} _DESCRIPTOR_TABLE,

* PSERVICE_DESCRIPTOR_TABLE,

** PPSERVICE_DESCRIPTOR_TABLE;

# define NTCALL (_function) KeServiceDescriptorTable-> ntoskrnl.ServiceTable [_function]

# define USERCALL (_function) KeServiceDescriptorTableShadow-> win32k.ServiceTable [_function] PSERVICE_DESCRIPTOR_TABLE KeServiceDescriptorTable; _STRING DeviceName; _STRING SymbolicLinkName; _OBJECT deviceObject=NULL; IoThreadToProcess (

__in PETHREAD Thread

); ProtectedPid=0; NtQueryInformationThread (

__in HANDLE ThreadHandle,

__in THREADINFOCLASS ThreadInformationClass,

__inout PVOID ThreadInformation,

__in ULONG ThreadInformationLength,

__out_opt PULONG ReturnLength

); struct _THREAD_BASIC_INFORMATION {ExitStatus; TebBaseAddress; _ID ClientId; AffinityMask; Priority; BasePriority;

} THREAD_BASIC_INFORMATION, * PTHREAD_BASIC_INFORMATION; PsGetThreadProcessId (IN PETHREAD Thread); NTSTATUS (* NtOpenProcessPointer) (PHANDLE ThreadHandle, ACCESS_MASK DesiredAccess, POBJECT_ATTRIBUTES ObjectAttributes, PCLIENT_ID ClientId); NTSTATUS (* NtOpenThreadPointer) (

__out PHANDLE ThreadHandle,

__in ACCESS_MASK DesiredAccess,

__in POBJECT_ATTRIBUTES ObjectAttributes,

__in PCLIENT_ID ClientId

); ObReferenceObjectByHandle (

__in HANDLE Handle,

__in ACCESS_MASK DesiredAccess,

__in_opt POBJECT_TYPE ObjectType,

__in KPROCESSOR_MODE AccessMode,

__out PVOID * Object,

__out_opt POBJECT_HANDLE_INFORMATION HandleInformation

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





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

  • Реферат на тему: Драйвера ядра Windows
  • Реферат на тему: Основи роботи з операційною системою Windows XP. Операції з файловою струк ...
  • Реферат на тему: Огляд Windows Vista на базі порівняння з Windows XP
  • Реферат на тему: Порівняння операційних систем: Microsoft Windows Vista і Microsoft Windows ...
  • Реферат на тему: Програмування в Windows.Forms-додатках