здравствуйте. надо найти то, что написано в названии темы(конкретно NDIS miniport'ов, но остальные не помешает тоже узнать) думаю есть вариант - через реестр (облазил пол реестра, в глазах рябит от него. очень утомительно и много кода надо писать - несколько ключей надо перебрать... еще эти не человеческие функции ZwXXXKey, не МОГУЩИЕ все ключи за один вызов вернуть...), но такого ключа, содержащего, список этих драйверов в одной кучке не нашел. ...ребята, мож есть какойто еще вариант в парочку-другую строк кода... по-быстрому так получить их???? ps: в системе windows
Поправь меня, если я неправильно понял, тебе нужен список драйверов, которые грузят свои NDIS-минипорты?
steelfactor мне нужны названия модулей NDIS минипорт-драйверов сетевых карт, работающих в системе. затем получаем список всех модулей ,загруженных в системе; отделяем из них(всех модулей) - NDIS минипорты, правим адреса импортированных функций(особо интересных). пс: чтобы не портить всякими JMP/PUSH,RET'ами код перехватываемых функций в *.SYS модулях.
goga2007 Это называется чесать левое ухо правой рукой ))) Найди валидные указатели на все NDIS_MINIPORT_BLOCK для всех открытых адаптеров и работай непосредственно с ними. В этой структуре содержится описание (фактическое) каждого NDIS минипорта в системе, в т.ч. адреса всех функций конкретного минипорта.
steelfactor это,насколько мне известно, не переносимый способ- это раз. ...еще смутило слово "валидные". они могут быть не валидными? как узнать? ...и что это за способ? (ВЫ пишите, "...для всех открытых адаптеров..."; т.е., если я правильно понял, плясать надо от "открытых адаптеров"... слыхивал о нахождении этой структуры через: NdisRegisterProtocol->NDIS_PROTOCOL_BLOCK->NDIS_OPEN_BLOCK->NDIS_MINIPORT_BLOCK. не этот ли способ вы имеете ввиду?) ...и есть ли у вас информация об этой структуре ,а также о всех структурах, необходимых для ее нахождения, для виндовс начиная с w2k до vista(для ХР не надо - у меня есть =), если канеш это не секретная инфа?? PS: хотелось бы поиметь переносимость ))) - это два, три, четыре, пять))
Насчет переносимости - так как структура NDIS_MINIPORT_BLOCK и иже с ней меняется от билда к билду, ничего иного как проверять на старте NtBuildVersion я не вижу. Этот, этот... )) Уверен, существуют и другие способы, как найти указатель на NDIS_MINIPORT_BLOCK без регистрации протокола, но за ними нужно идти на поклон к TarasCo =))) Попробуй сдампить искомую инфу из символов. Я так делал...