Конференция "WinAPI" » Выгрузка WinApi перехватчика [D7, WinXP]
 
  • KygECHuK © (02.09.08 16:42) [140]

    > завершения еще далеко :)


    Желаю удачи, будут проблемы - поделюсь наболевшим..
  • evvcom © (02.09.08 17:07) [141]
    Да я и сам могу поделиться :)
    DLL уже внедряется и выгружается без ошибок.
    Сейчас пишу систему общения, протокол обмена информацией.
    В той задаче с локальным решением устанавливались ловушки, а вот со съемом была проблема. IDA Pro тогда показал, что после загрузки плагинов, то приложение читало адрес перехваченной функции, сохраняло его в регистре и дальше уже в рабочем цикле выполняло call <Register>. Внутри этого цикла в итоге вызывалась и FreeLibrary для плагина. Так и пришлось тогда перехватывать еще и FreeLibrary и в случае выгрузки моей dll команду пропускать мимо ушей :)
  • Сергей М. © (02.09.08 17:08) [142]

    > проверял на Notepad'е - нет там ничего партизанского
    >


    Да я и не утверждаю, что тут партизаны шорох наводят)
    Как раз наоборот - их появление тут крайне маловероятно, да и ты тоже вроде бы не оккупант, чтобы свои стратегические неудачи на партизанские вылазки сваливать)
  • KygECHuK © (02.09.08 17:10) [143]
    нашел причину, все дело в вспомогательном потоке, по его завершении выгружается перехватчик, всего делов. Дело не критчное. Ошибок не нашли. Акуна матата...
  • KygECHuK © (02.09.08 17:16) [144]

    > DLL уже внедряется и выгружается без ошибок.


    У меня тоже до "полевого" применения ошибок не было, а вот потом...
  • evvcom © (02.09.08 17:27) [145]
    Кстати, с доп.потоками в dll. Может пригодится. На днях выяснил, что если создавать или завершать доп.поток внутри DLL_PROCESS_ATTACH/DETACH, то получим граблями, так как тогда должны одновременно выполняться коды DLL_THREAD_ATTACH/DETACH, а это запрещено системой. Причем DisableThreadLibraryCalls не спасает, т.к. связано это все же с выделением памяти под структуры потока.
  • evvcom © (02.09.08 17:28) [146]

    > У меня тоже до "полевого" применения ошибок не было, а вот
    > потом...

    Ну так я сразу на реальной жертве экспериментирую :-)
  • KygECHuK © (02.09.08 17:33) [147]

    > Ну так я сразу на реальной жертве экспериментирую :-)


    Ну так выгрузку при CreatRemoteThread ты как организовал?
  • evvcom © (02.09.08 17:57) [148]
    загрузка CreatRemoteThread Loadlibrary
    выгрузка CreatRemoteThread FreeLibrary
    все как у Рихтера. Или ты что-то иное имеешь ввиду?
  • Leonid Troyanovsky © (02.09.08 18:04) [149]

    > KygECHuK ©   (02.09.08 15:42) [136]

    > А точно неявная выгрузка ловушки происходит только по завершению
    > процесса?

    Хук - собственность потока, его создавшего,
    освобождается вместе с ним.
    И не сразу, а при свершении очередного отлавливаемого события.

    --
    Regards, LVT.
  • KygECHuK © (02.09.08 19:09) [150]

    > Хук - собственность потока, его создавшего, освобождается
    > вместе с ним.И не сразу, а при свершении очередного отлавливаемого
    > события.


    Вот это я уже сам выяснил эвристически то-есть тыком :). Спасибо за подтверждение моей догадки.


    > все как у Рихтера. Или ты что-то иное имеешь ввиду?

    Надо бы мне его почитать, это веть книга? )
  • Сергей М. © (02.09.08 19:29) [151]

    > Надо бы мне его почитать, это веть книга? )


    Нет, это зарубки на скальных образованиях Мезозоя.
  • KygECHuK © (02.09.08 19:33) [152]

    > Нет, это зарубки на скальных образованиях Мезозоя.


    Жестко, а что так?
  • Сергей М. © (02.09.08 20:11) [153]
    Да просто устал я от твоего Монте-Карло, извини уж)
  • KygECHuK © (02.09.08 20:21) [154]

    > Да просто устал я от твоего Монте-Карло, извини уж)


    Я вообще подумал что это про книгу котрая устарела )
  • KygECHuK © (02.09.08 21:00) [155]
    да и тема себя изчерпала
  • Сергей М. © (02.09.08 21:04) [156]
    Да и, похоже, ни о чем она была - как был у тебя вопрос про AV неразрешенным, так он таким и остался.
  • KygECHuK © (02.09.08 21:08) [157]

    > Да и, похоже, ни о чем она была - как был у тебя вопрос
    > про AV неразрешенным, так он таким и остался.


    нет, все получилось, я использовал ваш совет и AV больше нет.
    Ище раз спасибо.
  • evvcom © (03.09.08 08:17) [158]

    > это веть книга? )

    Джефри Рихтер. Windows для профессионалов.
    Если не путаю, у Анатолия Подгорецкого на сайте есть.
  • KygECHuK © (03.09.08 10:34) [159]

    > Джефри Рихтер. Windows для профессионалов.Если не путаю,
    >  у Анатолия Подгорецкого на сайте есть.

    Спасибо посмотрю

    > выгрузка CreatRemoteThread FreeLibrary


    Ты её делаешь сразу без условий или с какими то либо задержками или синхронизацией?
 
Конференция "WinAPI" » Выгрузка WinApi перехватчика [D7, WinXP]
Есть новые Нет новых   [134435   +33][b:0.001][p:0.001]