Пропустить навигацию

Изрядно надоело при старте процесса в WinDbg каждый раз ставить брейк на kernel32!BaseProcessStart (для xp) или kernel32!BaseThreadInitThunk (windows 7) для того, чтобы попасть на точку входа отлаживаемой проги. Для решения задачи был написан такой вот скрипт

http://pastebin.com/mBiRewiq

В качестве бонуса стоппится и на tls калбеках тоже. Запуск скрипта производится из командной строки windbg при первой остановке на ntdll!DbgBreakPoint (LdrpDoDebuggerBreak):

$$><имя_скрипта

Размещать скрипт в каталоге windbg.

Примечание1: после расстановки брейков на калбеках и точке входа происходит запуск (g).

Примечание2: скрипт предназначается только для 64-битных процессов, для 32 битов нужна коррекция

Комментариев: 2

  1. Для точек входа мы обычно пользуем оператор $iment и псевдорегистр $exentry:
    g $iment(kernel32)
    g @$exentry

    Скрипт сохранён для tls :)

    • >> Для точек входа мы обычно пользуем оператор $iment и псевдорегистр $exentry

      Не знала про такую возможность, спасибо.


Добавить комментарий

Fill in your details below or click an icon to log in:

Логотип WordPress.com

You are commenting using your WordPress.com account. Log Out / Изменить )

Фотография Twitter

You are commenting using your Twitter account. Log Out / Изменить )

Фотография Facebook

You are commenting using your Facebook account. Log Out / Изменить )

Connecting to %s

Follow

Get every new post delivered to your Inbox.