как найти имена всех загруженных модулей минипорт драйверов в системе

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

  1. goga2007

    goga2007 New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2007
    Сообщения:
    184
    здравствуйте.
    надо найти то, что написано в названии темы(конкретно NDIS miniport'ов, но остальные не помешает тоже узнать)
    думаю есть вариант - через реестр (облазил пол реестра, в глазах рябит от него. очень утомительно и много кода надо писать - несколько ключей надо перебрать... еще эти не человеческие функции ZwXXXKey, не МОГУЩИЕ все ключи за один вызов вернуть...), но такого ключа, содержащего, список этих драйверов в одной кучке не нашел.
    ...ребята, мож есть какойто еще вариант в парочку-другую строк кода... по-быстрому так получить их????
    ps: в системе windows
     
  2. steelfactor

    steelfactor New Member

    Публикаций:
    0
    Регистрация:
    26 апр 2007
    Сообщения:
    501
    Поправь меня, если я неправильно понял, тебе нужен список драйверов, которые грузят свои NDIS-минипорты?
     
  3. goga2007

    goga2007 New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2007
    Сообщения:
    184
    steelfactor
    мне нужны названия модулей NDIS минипорт-драйверов сетевых карт, работающих в системе.
    затем получаем список всех модулей ,загруженных в системе;
    отделяем из них(всех модулей) - NDIS минипорты, правим адреса импортированных функций(особо интересных).
    пс: чтобы не портить всякими JMP/PUSH,RET'ами код перехватываемых функций в *.SYS модулях.
     
  4. steelfactor

    steelfactor New Member

    Публикаций:
    0
    Регистрация:
    26 апр 2007
    Сообщения:
    501
    goga2007
    Это называется чесать левое ухо правой рукой )))
    Найди валидные указатели на все NDIS_MINIPORT_BLOCK для всех открытых адаптеров и работай непосредственно с ними. В этой структуре содержится описание (фактическое) каждого NDIS минипорта в системе, в т.ч. адреса всех функций конкретного минипорта.
     
  5. goga2007

    goga2007 New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2007
    Сообщения:
    184
    steelfactor
    это,насколько мне известно, не переносимый способ- это раз.
    ...еще смутило слово "валидные". они могут быть не валидными? как узнать?
    ...и что это за способ? (ВЫ пишите, "...для всех открытых адаптеров..."; т.е., если я правильно понял, плясать надо от "открытых адаптеров"... слыхивал о нахождении этой структуры через:
    NdisRegisterProtocol->NDIS_PROTOCOL_BLOCK->NDIS_OPEN_BLOCK->NDIS_MINIPORT_BLOCK. не этот ли способ вы имеете ввиду?)
    ...и есть ли у вас информация об этой структуре ,а также о всех структурах, необходимых для ее нахождения, для виндовс начиная с w2k до vista(для ХР не надо - у меня есть =), если канеш это не секретная инфа??
    PS: хотелось бы поиметь переносимость ))) - это два, три, четыре, пять))
     
  6. steelfactor

    steelfactor New Member

    Публикаций:
    0
    Регистрация:
    26 апр 2007
    Сообщения:
    501
    Насчет переносимости - так как структура NDIS_MINIPORT_BLOCK и иже с ней меняется от билда к билду, ничего иного как проверять на старте NtBuildVersion я не вижу.
    Этот, этот... )) Уверен, существуют и другие способы, как найти указатель на NDIS_MINIPORT_BLOCK без регистрации протокола, но за ними нужно идти на поклон к TarasCo =)))
    Попробуй сдампить искомую инфу из символов. Я так делал...