Перехват функции WlxLoggedOutSAS из библиотеки Msgina.dll.

Тема в разделе "WASM.WIN32", создана пользователем machis, 13 мар 2008.

  1. machis

    machis New Member

    Публикаций:
    0
    Регистрация:
    13 мар 2008
    Сообщения:
    2
    При перехвате WlxLoggedOutSAS использую сплайсинг функции. Этот метод состоит в следующем: определяется адрес перехватываемой функции, и первые 5 байт её начала заменяются на длинный jmp переход по адресу обработчика перехвата.
    Если необходимо вызывать перехватываемую функцию, то перед заменой необходимо сохранить её начальные байты и перед вызовом восстанавливать их. Недостаток данного метода состоит в том, что если после восстановления начала функции произошло переключение контекста на другой поток приложения, то он сможет вызвать функцию минуя перехватчик. Этот недостаток можно устранить останавливая все побочные потоки приложения перед вызовом и запуская после вызова.
    Программа написана на VC++6, исходные файлы прилагаются.

    Вопрос: Программу протестировал на Windows2000(SP4). Оказалось она работает не на всех компьютерах, хотя везде стоит 2000(SP4). При отладки выяснил LoadLibrary(“msgina.dll”) возвращает 0.
    Может кто подскажет в чем дело, буду очень признателен.
     
  2. LazzY

    LazzY New Member

    Публикаций:
    0
    Регистрация:
    6 мар 2006
    Сообщения:
    123
    GetLastError что вернуло? не ERROR_FILE_NOT_FOUND случаем? о_О
     
  3. seeQ

    seeQ New Member

    Публикаций:
    0
    Регистрация:
    3 сен 2003
    Сообщения:
    71
    Потому что, LoadLibrary вызывается в DllMain, отсюда и грабли. знакомая ситуация.
     
  4. slow_at_work

    slow_at_work New Member

    Публикаций:
    0
    Регистрация:
    6 ноя 2007
    Сообщения:
    64
    machis
    читаем Рихтера. seeQ прав
     
  5. machis

    machis New Member

    Публикаций:
    0
    Регистрация:
    13 мар 2008
    Сообщения:
    2
    Можно пожалуста по подробней.
     
  6. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Глупо..
     
  7. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Посмотрел код, непонятно вообще что ты пытаешся сделать, если тебе надо пароли получать, то перехватывай advapi32!SystemFunction007 в lsass.exe