NdisMiniportList, кто нибудь знает что это за переменная, что она из себя представляет?? и какого она типа? Просто в задании оно упоминается, но я не знаю что это. Гугл молчит.. судя из названия это структуры образующие список минипортов. Интересен формат структуры.. после копания в гугле ничего конкретного выяснить не смог, но сформировалось четкое ощущение, что к этому привязана структура NDIS_MINIPORT_BLOCK. Может кто-нибудь просветить неуча?
Мм. Вторая ссылка в гугле по запросу NdisMiniportList, приводит к статье: http://redplait.blogspot.com/2010/08/ndisndismdriverblock.html ,так ли хорошо вы искали? ради интереса проверил. или вы хотите переложить ответственность за создание кода на чьи-то плечи?
drem1lin чтобы все связи там понять, дизасмить ndis.sys нужно, проблемы разве какие то есть, к тому же новая ида с pdb проблем не имеет imho эта статья слабая очень, чтобы что-то понять
статья хорошая для практиков, исследователям достаточно _NDIS_M_DRIVER_BLOCK для того, чтобы начать ковырять. также по теме http://www.blackhat.com/presentations/bh-usa-06/BH-US-06-Tereshkin.pdf
Эту статью видел, смотрел, но не все я в ней понял. А вопрос стоит сейчас. поэтому все таки хотелось бы что бы кто нибудь более понятным языком рассказал про этот NdisMiniportList
с помощью отладчика исследовал память, по RVA нашел NdisMiniportList, но не могу понять что это.. сравнивал по описаниям структур NDIS_M_DRIVER_BLOCK и NDIS_MINIPORT_BLOCK, но у меня по смещению 0х156 от NdisMiniportList лежит строка Software Loopback Interface, а ни в одной из этих структур нет по этому смещению строки=( сверял по описаниям структур с http://redplait.blogspot.com/ TestDriver: NdisMiniportList: 0x85cbbd4c Код (Text): 85cbbd4c 38 c4 6d 83 00 00 00 00 d0 d4 ed 83 08 c0 03 84 b8 55 8.m..............U 85cbbd5e 4c 83 08 56 4c 83 a8 70 51 83 a8 70 4c 83 ac d0 ea 83 L..VL..pQ..pL..... 85cbbd70 ac a0 0b 83 28 e3 fb 85 ce e8 fb 85 04 00 00 00 5a 62 ....(...........Zb 85cbbd82 02 00 00 20 50 83 d8 ea f6 82 00 00 00 00 00 00 00 00 ... P............. 85cbbd94 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .................. 85cbbda6 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .................. 85cbbdb8 00 00 00 00 ff ff ff ff 50 59 4c 83 d8 b2 b8 82 20 60 ........PYL..... ` 85cbbdca 4c 83 00 00 00 00 00 00 00 00 00 00 00 00 68 46 f3 86 L.............hF.. 85cbbddc 02 00 00 00 01 00 00 00 04 00 0a 00 00 00 00 00 d8 60 .................` 85cbbdee 4c 83 d8 60 4c 83 f4 bd cb 85 f4 bd cb 85 00 00 00 00 L..`L............. 85cbbe00 01 00 00 00 38 61 4c 83 38 61 4c 83 00 00 00 00 00 0f ....8aL.8aL....... 85cbbe12 00 00 00 00 00 00 22 d8 21 ed 58 3f cb 01 00 00 00 00 ......".!.X?...... 85cbbe24 00 00 00 00 00 00 00 00 00 00 00 00 70 00 70 00 90 21 ............p.p..! 85cbbe36 f3 86 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .................. 85cbbe48 e0 cb 09 83 00 00 00 00 98 58 4c 83 00 00 00 00 00 00 .........XL....... 85cbbe5a 00 00 84 9f d6 85 d0 d4 ed 83 78 17 47 88 18 19 c5 86 ..........x.G..... 85cbbe6c 58 18 c5 86 60 87 f4 86 e0 e2 f3 86 40 3a 07 84 80 a0 X...`.......@:.... 85cbbe7e 0b 83 80 70 4c 83 d0 55 4c 83 80 55 4c 83 00 00 00 00 ...pL..UL..UL..... 85cbbe90 00 00 00 00 00 6a 4c 83 d0 66 4c 83 0f 00 00 00 36 00 .....jL..fL.....6. 85cbbea2 53 00 6f 00 66 00 74 00 77 00 61 00 72 00 65 00 20 00 S.o.f.t.w.a.r.e. . 85cbbeb4 4c 00 6f 00 6f 00 70 00 62 00 61 00 63 00 6b 00 20 00 L.o.o.p.b.a.c.k. . 85cbbec6 49 00 6e 00 74 00 65 00 72 00 66 00 61 00 63 00 65 00 I.n.t.e.r.f.a.c.e.
Чуть переоценил твою задачу. Для твоей задачи достаточно: Глобальная переменная ndis!ndisMiniportList c типом ndis!_NDIS_MINIPORT_BLOCK. В которой для итерации используется поле NextGlobalMiniport. В данном случае отправная точка - "представления" устройств. Пример: kd> ? NDIS!ndisMiniportList Evaluate expression: -131169452 = f82e8354 kd> dt _NDIS_MINIPORT_BLOCK f82e8354 NDIS!_NDIS_MINIPORT_BLOCK +0x000 Signature : 0x822aaad0 +0x004 NextMiniport : 0x821af758 _NDIS_MINIPORT_BLOCK +0x008 DriverHandle : 0x81ef8580 _NDIS_M_DRIVER_BLOCK .... +0x19c NextGlobalMiniport : 0xe1441f48 _NDIS_MINIPORT_BLOCK .... //////////////////// Из того что я рекомендовал: _NDIS_M_DRIVER_BLOCK - соответствует списку ndis!ndisMiniDriverList. В этом случае отправная точка - драйвера устройств.
dfrsa а где есть описание NDIS_MINIPORT_BLOCK? то что я находил, мне не подошло, по причине описанной выше.. Если можно, то приведи формат структуры NDIS_MINIPORT_BLOCK для Vista Sp1