Сейчас на форуме: rmn, _MBK_ (+7 невидимых)

 eXeL@B —› Основной форум —› Отладка приложения накрытого Themida
<< . 1 . 2 .
Посл.ответ Сообщение

Ранг: 6.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 27 марта 2010 20:34 · Поправил: Модератор
· Личное сообщение · #1

Есть dllка, запакованная с помощью темиды. При чем опции там не сильно понаворочены.

Цель - посмотреть как работает одна из экспортированных функций в конкретной ситуации.

dll-ка является частью большой программы и интерес представляет то как эта функция отрабатывает именно в рамках этой программы (как я уже писал - в конкретной ситуации).

В эту программу могу заинжектить свою dllку, и в нужный момент перехватить вызов этой функции.

Что делаю (пробовал много разных вариаций, остановился пока на этом):
1) стопаю все потоки кроме того где был вызов (SuspendThread)
2) отключаю уведомления об атаче/детаче потоков во всех модулях. (тут возможно не надо, но в другой ситуации с этой прогой помогло)
3) ухожу в бесконечный цикл (типа while(true);)
4) атачусь олей к запущеной проге.

В потоках нахожу этот (активных только 2, 1 которым олли атачился и вот этот), пытаюсь его отлаживать.
Он, как и следовало ожидать, находится в моем бесконечном цикле.

Пробовал:
1) ставить брекпоинт на строчке следующей за текущей
2) просто делать степ
3) trace into/over

Всё это приводит к тому что прога переходит из Paused в Running и если после этого ее стопнуть то этот поток находится в недрах WaitForMultipleObjects.
Никак не могу понять как оно туда попало, ибо все потоки вроде как стопнуты, а этому никак мимо моего брекпоинта не пройти.

Очень интересует как оно меня так жестоко обходит, ну и "что делать?"

От модератора: русский язык научись уважать! Что ещё за "апликуха"?



Ранг: 6.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 31 марта 2010 07:48
· Личное сообщение · #2

Я немного подумал над этой проблемой. Дело не в этом, или не только в этом.

Бесконечный цикл я не прерываю и до атача олей прилага находится именно в нем.
После Атач/Ран прилага из него улетает. Это явно значит что там не просто несработал брейкпоинт.




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 31 марта 2010 14:52
· Личное сообщение · #3

Ещё раз говорю-он мог не сработать как раз из-за того, что он налетел но бряк, но отладчик не получил этого сообщения из-за того, что он скрыт от отладчика через вышеописанную функцию. Сам с таким сталкивался, поэтому и говорю. Возможно, в твоём случае такое же дело.




Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

Создано: 31 марта 2010 17:45
· Личное сообщение · #4

В конце концов, черт с этими плагинами. Просто напиши драйвер, который бы перехватывал в ядре NtSetInformationThread и не давал бы ей вызываться с таким параметром, как HideThreadFromDebugger. Я так понял, что ТС - фанат кодинга, библиотеки всякие инжектит, хуккает что-то там вручную, так что одним драйвером больше, одним меньше

-----
Stuck to the plan, always think that we would stand up, never ran.





Ранг: 324.3 (мудрец), 221thx
Активность: 0.480.37
Статус: Участник

Создано: 01 апреля 2010 06:32
· Личное сообщение · #5

Можно инжектированной dll автоподмену или автоблок добавить для NtSetThreadInformation и еще для чего-нить. Тогда меньше проблем будет с бряками. По крайней мере исключить можно будет, виноват этот способ антиотладки или нет.

-----
IZ.RU





Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

Создано: 04 апреля 2010 20:31
· Личное сообщение · #6

DenCoder
Когда библиотека инжектиктится - тогда уже поздно. Надо раньше.

-----
Stuck to the plan, always think that we would stand up, never ran.





Ранг: 324.3 (мудрец), 221thx
Активность: 0.480.37
Статус: Участник

Создано: 05 апреля 2010 07:52
· Личное сообщение · #7

А почему бы не создать процесс с флагом CREATE_SUSPENDED и сразу внедриться?

-----
IZ.RU




Ранг: 237.0 (наставник), 20thx
Активность: 0.130
Статус: Участник
sysenter

Создано: 05 апреля 2010 08:47
· Личное сообщение · #8

ARCHANGEL пишет:
Когда библиотека инжектиктится - тогда уже поздно. Надо раньше.

В этой ветке обсуждалось:--> Link <--

-----
продавец резиновых утёнков



<< . 1 . 2 .
 eXeL@B —› Основной форум —› Отладка приложения накрытого Themida
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати