Windbg + IDA: вычислить адрес в модуле - PullRequest
2 голосов
/ 15 апреля 2010

Я удаленно отлаживаю машину с Windows XP. Один из моих драйверов загружен по адресу от 0xb2c4c000 до 0xb2cb9680.

Теперь, когда я открываю свой драйвер в IDA, смещение, на которое я хочу установить точку останова, равно 00017619.

Как эффективно сопоставить мой адрес IDA с windbg?

Я попробовал очевидное: сложить 0xb2c4c000 + 00017619 = 0xB2C635F7 и разобрать этот адрес с помощью команды 'u' в windbg. Но результаты не соответствовали сборке в IDA.

С другой стороны: есть ли способ отменить команду, запущенную в windbg? Несколько раз я запускал команды, которые обрабатывались годами, и я хотел бы иметь возможность отменить их при необходимости. Так что я могу продолжать работать.

Спасибо за ваше время.

Ответы [ 2 ]

3 голосов
/ 12 августа 2010

Последние версии IDA Pro позволяют отлаживать драйверы устройств с помощью плагина отладчика WinDbg.

Другой альтернативой является то, что вы можете перебазировать свою базу данных, чтобы она соответствовала базе загруженного модуля, и, таким образом, у вас есть однозначное соответствие между сеансами idb и windbg.

2 голосов
/ 08 апреля 2014

Вы добавляете неправильно.Поскольку IDA принимает 10000 в качестве точки входа, правильный способ добавления -

0xb2c4c000 + 00007619 (вычтено 10000)

...