Внутренние функции ядра

Тема в разделе "WASM.NT.KERNEL", создана пользователем netex, 10 янв 2007.

  1. netex

    netex New Member

    Публикаций:
    0
    Регистрация:
    5 дек 2005
    Сообщения:
    114
    Адрес:
    Russia
    Нужно сделать вызов функции Mi...
    которая не экспортируется.
    В IDA с символами она видна.
    Как это можно сделать? (кроме джапа по фиксиров. адресу)
     
  2. gilg

    gilg New Member

    Публикаций:
    0
    Регистрация:
    19 май 2005
    Сообщения:
    527
    В общем случае переносимый код по-любому не получится. Могут быть обходные пути для конкретной функции
     
  3. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    netex
    Поиск по маске.
    Анализ функций, которые вызывают нужную тебе функцию.
     
  4. netex

    netex New Member

    Публикаций:
    0
    Регистрация:
    5 дек 2005
    Сообщения:
    114
    Адрес:
    Russia
    Буду делать прямой джамп. Благо адреса всегда статические. (для конкретной версии ОС с учетом сервис пака)
     
  5. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    [double]
     
  6. Cr4sh

    Cr4sh New Member

    Публикаций:
    0
    Регистрация:
    17 апр 2006
    Сообщения:
    668
    когда-то делал анхук NDIS для универсального обхода файров, оригинальные адресса обработчиков из NDIS_OPEN_BLOCK для TCPIP находились где-то внутри tcpip.sys и есессно не експортировались, в итоге забил адресса хардкодом для разных версий и сервиспаков, т.к. с анализом и поиском слишком уж сложно, трудоёмко и ненадёжно =(
     
  7. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    [double]
     
  8. k3internal

    k3internal New Member

    Публикаций:
    0
    Регистрация:
    11 янв 2007
    Сообщения:
    607
    Тут есть методы, либо, как правильно заметили хардкором забить, это в случае неперемещаемости кода, что даже с основными модулями ядра не гарантируется. К примеру nt*.exe не всегда и не на всех системах грузится по одной базе.
    И второй который предложил ms-rem в своей статье по поиску скрытых процессов, при поиске KiSwapContext. Но на самом всё зависит от ситуации, однозначного ответа нет и не будет.
     
  9. DelExe

    DelExe New Member

    Публикаций:
    0
    Регистрация:
    22 авг 2005
    Сообщения:
    165
    netex
    n0name предлагает сигнатуру. Вполне приемлемое решение если есть версии модуля например для Win2k SP1, SP2, SP4 и WinXP SP1, SP2. Найди общую сигнатуру, скажем, в юзер-приложении и передай в драйвер. Только естественно в новом сервис паке всё может поменяться. Только это слишком много работы для нескольких функций. Виделять сигнатуру - занятие не самое интересное.
    Другой вариант - обрабатывать символы отладки и вытягивать адреса с них. Но естественно у пользователя эти символы отладки должны присутствовать.
     
  10. kaspersky

    kaspersky New Member

    Публикаций:
    0
    Регистрация:
    18 май 2004
    Сообщения:
    3.006
    при наличии у юзера иннета еще и символы с сайта ms скачать можно. можно оставить этот вариант на тот случай, если юзер установит сервис-пак, о котором еще не знает программа ;)