Сейчас на форуме: asfa (+6 невидимых)

 eXeL@B —› Вопросы новичков —› Отладка отладчика
Посл.ответ Сообщение

Ранг: 35.3 (посетитель)
Активность: 0.01=0.01
Статус: Участник

Создано: 16 апреля 2010 06:08
· Личное сообщение · #1

Как известно, с отладкой отладчика возникают проблемы, т.к. отладочные регистры уже используются. Некоторые защиты строятся на отладке собственного процесса. Поискал, как с этим борятся - обычно готовые инструменты используют. Потому и встал вопрос: а в общем виде (не для отдельно взятого прота) задача решается? Лично меня сабж интересует, т.к. хочу подправить WinDbg.




Ранг: 529.0 (!), 110thx
Активность: 0.290.04
Статус: Участник
5KRT

Создано: 16 апреля 2010 08:06
· Личное сообщение · #2

Gauri
Ты ничего не перепутал? Вроде один процесс может отлаживаться одним отладчиком, а отлаживать отладчик нам ни что не мешает

-----
Research For Food





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

Создано: 16 апреля 2010 08:26
· Личное сообщение · #3

Кому известно, что проблемы? Мне не известно. Проблем не возникает, если отладчик отлаживаемый не ринг0. И не надо путать отладку отладчика и отладку уже кем-то отлаживаемого процесса.



Ранг: 255.8 (наставник), 19thx
Активность: 0.150.01
Статус: Участник
vx

Создано: 16 апреля 2010 18:12
· Личное сообщение · #4

Ничто не мешает изменить отладочный порт



Ранг: 35.3 (посетитель)
Активность: 0.01=0.01
Статус: Участник

Создано: 17 апреля 2010 07:10 · Поправил: Gauri
· Личное сообщение · #5

Спасибо, в самом деле работает. Копаем дальше: как отладчик может ставить бряку? Обычную, программную. WriteProcessMemory, на который ссылаются все статьи по написанию отладчиков, похоже, не используется.

Clerk
Какой порт? Это про удалённую отладку, что ли?

UPD:
Насчёт порта, вроде, нашёл тут:
www.codeproject.com/KB/security/AntiReverseEngineering.aspx#SelfDebugging
, хотя и не совсем понял, зачем он нужен. Если его поменять при подсоединении второго отладчика, первый не отвалится?



Ранг: 255.8 (наставник), 19thx
Активность: 0.150.01
Статус: Участник
vx

Создано: 17 апреля 2010 09:18
· Личное сообщение · #6

Gauri
> Если его поменять при подсоединении второго отладчика, первый не отвалится?
Отвалится.
Виндбг ядерный отладчик, для приложений есть нормальные, типо олли. Собственно в чём основной вопрос заключается ?



Ранг: 35.3 (посетитель)
Активность: 0.01=0.01
Статус: Участник

Создано: 17 апреля 2010 16:02
· Личное сообщение · #7

Clerk
Вообще-то WinDbg как ядерный, так и ринг3 есть. И я сейчас говорил про второй случай.

А основной вопрос на данный момент: с помощью какой API функции отладчик ставит int3 бряку?




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

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

Запись в память процесса. Если ты надеялся найти функцию PutBreakpoint, то я тебя огорчу, её нет.



Ранг: 35.3 (посетитель)
Активность: 0.01=0.01
Статус: Участник

Создано: 17 апреля 2010 18:20
· Личное сообщение · #9

Archer
Какая именно функция-то может это делать? Как я уже писал, бряка на WriteProcessMemory не срабатывает.




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

Создано: 17 апреля 2010 19:07
· Личное сообщение · #10

Ну поставь на натив функцию бряк. Может, вообще инжектит свою длл. Где линк то, гадать, что ли?
З.Ы. Да, проглядел, что виндбг, мой косяк.



Ранг: 35.3 (посетитель)
Активность: 0.01=0.01
Статус: Участник

Создано: 17 апреля 2010 19:56
· Личное сообщение · #11

Archer
Какой линк? Я ж самого начала сказал, что WinDbg отлаживаю.

Уф, вроде сам уже разобрался: хитрый WinDbg юзает WriteProcessMemory не сразу, как только бряку его просишь поставить, а только когда программу после этого выполняться запускаешь. Оптимизация, блин...


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


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