-
> завершения еще далеко :)
Желаю удачи, будут проблемы - поделюсь наболевшим..
-
Да я и сам могу поделиться :)
DLL уже внедряется и выгружается без ошибок.
Сейчас пишу систему общения, протокол обмена информацией.
В той задаче с локальным решением устанавливались ловушки, а вот со съемом была проблема. IDA Pro тогда показал, что после загрузки плагинов, то приложение читало адрес перехваченной функции, сохраняло его в регистре и дальше уже в рабочем цикле выполняло call <Register>. Внутри этого цикла в итоге вызывалась и FreeLibrary для плагина. Так и пришлось тогда перехватывать еще и FreeLibrary и в случае выгрузки моей dll команду пропускать мимо ушей :)
-
> проверял на Notepad'е - нет там ничего партизанского
>
Да я и не утверждаю, что тут партизаны шорох наводят)
Как раз наоборот - их появление тут крайне маловероятно, да и ты тоже вроде бы не оккупант, чтобы свои стратегические неудачи на партизанские вылазки сваливать)
-
нашел причину, все дело в вспомогательном потоке, по его завершении выгружается перехватчик, всего делов. Дело не критчное. Ошибок не нашли. Акуна матата...
-
> DLL уже внедряется и выгружается без ошибок.
У меня тоже до "полевого" применения ошибок не было, а вот потом...
-
Кстати, с доп.потоками в dll. Может пригодится. На днях выяснил, что если создавать или завершать доп.поток внутри DLL_PROCESS_ATTACH/DETACH, то получим граблями, так как тогда должны одновременно выполняться коды DLL_THREAD_ATTACH/DETACH, а это запрещено системой. Причем DisableThreadLibraryCalls не спасает, т.к. связано это все же с выделением памяти под структуры потока.
-
> У меня тоже до "полевого" применения ошибок не было, а вот
> потом...
Ну так я сразу на реальной жертве экспериментирую :-)
-
> Ну так я сразу на реальной жертве экспериментирую :-)
Ну так выгрузку при CreatRemoteThread ты как организовал?
-
загрузка CreatRemoteThread Loadlibrary
выгрузка CreatRemoteThread FreeLibrary
все как у Рихтера. Или ты что-то иное имеешь ввиду?
-
> KygECHuK © (02.09.08 15:42) [136]
> А точно неявная выгрузка ловушки происходит только по завершению
> процесса?
Хук - собственность потока, его создавшего,
освобождается вместе с ним.
И не сразу, а при свершении очередного отлавливаемого события.
--
Regards, LVT.
-
> Хук - собственность потока, его создавшего, освобождается
> вместе с ним.И не сразу, а при свершении очередного отлавливаемого
> события.
Вот это я уже сам выяснил эвристически то-есть тыком :). Спасибо за подтверждение моей догадки.
> все как у Рихтера. Или ты что-то иное имеешь ввиду?
Надо бы мне его почитать, это веть книга? )
-
> Надо бы мне его почитать, это веть книга? )
Нет, это зарубки на скальных образованиях Мезозоя.
-
> Нет, это зарубки на скальных образованиях Мезозоя.
Жестко, а что так?
-
Да просто устал я от твоего Монте-Карло, извини уж)
-
> Да просто устал я от твоего Монте-Карло, извини уж)
Я вообще подумал что это про книгу котрая устарела )
-
да и тема себя изчерпала
-
Да и, похоже, ни о чем она была - как был у тебя вопрос про AV неразрешенным, так он таким и остался.
-
> Да и, похоже, ни о чем она была - как был у тебя вопрос
> про AV неразрешенным, так он таким и остался.
нет, все получилось, я использовал ваш совет и AV больше нет.
Ище раз спасибо.
-
> это веть книга? )
Джефри Рихтер. Windows для профессионалов.
Если не путаю, у Анатолия Подгорецкого на сайте есть.
-
> Джефри Рихтер. Windows для профессионалов.Если не путаю,
> у Анатолия Подгорецкого на сайте есть.
Спасибо посмотрю
> выгрузка CreatRemoteThread FreeLibrary
Ты её делаешь сразу без условий или с какими то либо задержками или синхронизацией?