Отладка своей DLL в контексте IEXPLORE.EXE

Тема в разделе "WASM.WIN32", создана пользователем deLight, 14 фев 2009.

  1. deLight

    deLight New Member

    Публикаций:
    0
    Регистрация:
    26 май 2008
    Сообщения:
    879
    Опишу кратко в чем суть проблемы...

    Есть DLL, которую податтачиваю к iexplore.exe через AppInit_DLLs. Сразу после загрузки, при выполнении DllMain ставлю хук на LdrLoadDll и CreateProcessInternalW, отлаживаю все это в MSVS. И все бы было хорошо... но как я понял в момент инициализации IE запускает через CreateProcessAsUser() еще одну копию себя, а из текущей выходит. Новая запущенная копия опять же на этапе инициализации падает, видимо из-за моих хуков, но отладить и посмотреть в чем дело никак не могу, т.к. в отладчике у меня предыдущая копия IE... она завершается сразу после создания еще одного процесса iexplore.

    Надеюсь доходчиво и просто объяснил.. проще вроде некуда. Вопрос - как можно отлаживать процесс сразу после его запуска? Т.к. податтачивать руками отладчик не успеваю, вываливается через секунду после запуска.

    thx.

    added: в моем случае решилось банально добавкой int 3 в DllMain подгружаемой библиотеки.
    Но в общем случае вопрос остается. Кто-то может объяснить?
     
  2. _tmp17628

    _tmp17628 New Member

    Публикаций:
    0
    Регистрация:
    7 фев 2009
    Сообщения:
    144
    есть еще DebugBreak
     
  3. Clerk

    Clerk Забанен

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