структура описываемая NetBufferList'ом

Тема в разделе "WASM.NETWORKS", создана пользователем goga2007, 7 дек 2008.

  1. goga2007

    goga2007 New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2007
    Сообщения:
    184
    здравствуйте.
    есть перехватчик NdisSendNetBufferLists ,который пишет в буфер посылаемые покеты, разбирая NET_BUFFER(_LIST)
    структуры.
    Код (Text):
    1. listen:
    2.         push    ebx esi edi
    3.  
    4.         mov     ebx,[esp+3*4+8] ;arg_1
    5.         mov     edi,[destination]
    6.  
    7.     next_nbl:
    8.         mov     esi,[ebx+4] ;FirstNetBuffer
    9.     next_nb:
    10.         push    esi
    11.         mov     edx,[esi+NET_BUFFER.MdlChain]
    12.      @@:
    13.         mov     esi,[edx+MDL.MappedSystemVa] ;как я понял-начало пакета
    14.         mov     ecx,[edx+MDL.ByteCount]
    15.         lea     eax,[edi+ecx+4]
    16.         cmp     eax,[endheap]
    17.         cmova   edi,[hHeap]
    18.         rep     movsb
    19.         mov     dword[edi],0F0DEBC0Ah ;разделитель, чтобы было видно где первый МДЛ, где следующие.
    20.         add     edi,4
    21.         cmp     dword[edx+MDL.Next],0
    22.         mov     edx,[edx+MDL.Next]
    23.         jnz     @b
    24.         pop     esi
    25.         cmp     dword[esi+NET_BUFFER.Next],0
    26.         mov     esi,[esi+NET_BUFFER.Next]
    27.         jnz     next_nb
    28.         cmp     dword[ebx+NET_BUFFER_LIST.Next],0
    29.         mov     ebx,[ebx+NET_BUFFER_LIST.Next]
    30.         jnz     next_nbl
    31.         mov     dword[edi],'STOP' ;разделитель пакетов
    32.         add     edi,4
    33.         mov     [destination],edi
    34.  
    35.  
    36.              fin:
    37.                  pop     edi esi ebx
    38.                  push    ebp
    39.                  mov     ebp, esp
    40.                  mov     ecx, [ebp+8]
    41.                  push    [NdisSendNetBufferLists]
    42.                  add     dword[esp],8
    43.                  ret
    может я чтото не так понял и не правильно делаю дамп, тк результат такой:

    kd> d MDL
    8833b020 00 00 00 00 20 00 04 10-00 00 00 00 40 b0 33 88 .... .......@.3.
    8833b030 00 b0 33 88 5e 00 00 00-40 00 00 00 46 de 02 00 ..3.^...@...F...
    8833b040 60 00 00 00 00 38 00 01-fe 80 00 00 00 00 00 00 `....8..........
    8833b050 18 90 08 22 60 00 00 00-00 24 00 01 fe 80 00 00 ..."`....$......
    8833b060 00 00 00 00 18 90 08 22-3f 57 01 00 5e 00 00 16 ......."?W..^...
    8833b070 00 0c 29 71 ff ff ff ff - ff ff 00 0c 29 71 3a 6e ..)q........)q:n
    8833b080 08 06 00 01 08 00 06 04-00 01 00 0c 29 71 3a 6e ............)q:n
    8833b090 c0 a8 e6 80 00 00 00 00-00 00 c0 a8 e6 02 00 03 ................


    kd> d MDL.MappedSystemVa
    8833b040 60 00 00 00 00 38 00 01-fe 80 00 00 00 00 00 00 `....8..........
    8833b050 18 90 08 22 60 00 00 00-00 24 00 01 fe 80 00 00 ..."`....$......
    8833b060 00 00 00 00 18 90 08 22-3f 57 01 00 5e 00 00 16 ......."?W..^...
    8833b070 00 0c 29 71 ff ff ff ff - ff ff 00 0c 29 71 3a 6e ..)q........)q:n
    8833b080 08 06 00 01 08 00 06 04-00 01 00 0c 29 71 3a 6e ............)q:n
    8833b090 c0 a8 e6 80 00 00 00 00-00 00 c0 a8 e6 02 00 03 ................
    8833b0a0 20 b1 33 88 20 00 04 10-00 00 00 00 c0 b0 33 88 .3. .........3.
    8833b0b0 00 b0 33 88 5e 00 00 00-c0 00 00 00 46 de 02 00 ..3.^.......F...

    что за структура?
    ну, предположим, что маки здесь есть, но до них идут неизвестные мне данные
     
  2. goga2007

    goga2007 New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2007
    Сообщения:
    184
    ...может это связано с тем, что это происходит в VMWare???