Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

перехватчик TCP стека

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Для начинающих] >> перехватчик TCP стека
Имя
Сообщение << Старые топики   Новые топики >>
перехватчик TCP стека - 2008-01-23 14:36:39.490000   
W.O.T.M.O.T.U.

Сообщений: 4
Оценки: 0
Присоединился: 2008-01-23 14:26:29.356666
что это? конкретно.
Post #: 1
RE: перехватчик TCP стека - 2008-01-23 14:47:21.606666   
W.O.T.M.O.T.U.

Сообщений: 4
Оценки: 0
Присоединился: 2008-01-23 14:26:29.356666
не один поисковик не даёт расшифровки аббревиатуре ТСР…(

Post #: 2
RE: перехватчик TCP стека - 2008-01-23 14:56:31.283333   
W.O.T.M.O.T.U.

Сообщений: 4
Оценки: 0
Присоединился: 2008-01-23 14:26:29.356666
я конечно понимаю,что чайник будет комплиментом для меня… Но всё же!
а разница между снифером и перехватчиком TCP стэка?
Post #: 3
RE: перехватчик TCP стека - 2008-01-23 20:49:02.190000   
il0dbg

Сообщений: 66
Оценки: 0
Присоединился: 2007-10-30 01:32:31.366666
Постым русским языком объясню:

NTSTATUS IrpPass(IN PDEVICE_OBJECT pDeviceObject, IN PIRP pIrp )
{
    IoSkipCurrentIrpStackLocation(pIrp);
    return IoCallDriver(((PDEVICE_EXTENSION) pDeviceObject->DeviceExtension)->TopOfStack ,pIrp);
}
extern "C" NTSTATUS DriverEntry(IN PDRIVER_OBJECT pDriverObject,IN PUNICODE_STRING theRegistryPath)
 {
  pDriverObject->DriverUnload=OnUnload;
    for(int i = 0; i < IRP_MJ_MAXIMUM_FUNCTION; i++)
        pDriverObject->MajorFunction = IrpPass;
&nbsp; UNICODE_STRING dname;
&nbsp; WCHAR dname_c[]=L"\\Device\\xxx";
&nbsp; RtlInitUnicodeString(&amp;dname,dname_c);
&nbsp; NTSTATUS st=IoCreateDevice(pDriverObject,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sizeof(DEVICE_EXTENSION),
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&amp;dname,
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;FILE_DEVICE_NETWORK,
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;0,
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;true,
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&amp;pkk);
&nbsp; if(!NT_SUCCESS(st)) return st;
&nbsp; pkk-&gt;Flags=0x50;
&nbsp; RtlZeroMemory(pkk-&gt;DeviceExtension,sizeof(DEVICE_EXTENSION));
&nbsp; PDEVICE_EXTENSION pkkext=(PDEVICE_EXTENSION)pkk-&gt;DeviceExtension;
&nbsp; UNICODE_STRING adname;
&nbsp; WCHAR adname_c[]=L"\\Device\\Tcp";
&nbsp; RtlInitUnicodeString(&amp;adname,adname_c);&nbsp;
&nbsp; IoAttachDevice(pkk,&amp;adname,&amp;pkkext-&gt;TopOfStack);
&nbsp;return STATUS_SUCCESS;

&nbsp;}

В IRP_MJ калбэке посмотри где чаще через глобальную переменную, еще
DEVICE_EXTENSION подскажу, а тоо все сним мучаются:

typedef struct _DEVICE_EXTENSION
{
&nbsp;&nbsp;&nbsp; PDEVICE_OBJECT&nbsp; TopOfStack;
&nbsp;&nbsp;&nbsp; HANDLE ThreadHandle;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; KEVENT EventPress;
&nbsp;&nbsp;&nbsp; BOOLEAN TerminateThread;
} DEVICE_EXTENSION, *PDEVICE_EXTENSION;

И почитай roorkit.com, там много по этой теме есть
Post #: 4
Страниц:  [1]
Все форумы >> [Для начинающих] >> перехватчик TCP стека







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.