Проблемы отладчика SoftIce

eXeL@B DVD

Материал из Справочник исследователя программ

Перейти к: навигация, поиск

Поставил себе SoftIce для Windows XP, но когда я его пытаюсь запустить и после этого нажать CTRL+D, то окно SoftIce'а на экране не появляется. Что мне делать?

Скорее всего проблема в том, что вы не поставили патч для SoftIce'а под Windows XP. В интернете можно найти много таких патчей, но на моем опыте сработал только один. Его (на момент написания FAQ'a) можно найти тут.

Я дизассемблировал исследуемую программу и думаю, что нашел место где происходит проверка введенного кода, но когда я пишу в SoftIce "bpx 12345678" (12345678 - адрес "этого места"), то breakpoint никогда не срабатывает. Что делать?

Возможно код по этому адресу просто не выполняется, но скорее всего дело в том, что вы не выделили адресное пространство процесса. Прежде чем ставить breakpoint на какой-то адрес в исследуемой программе необходимо выделить адресное пространство этого процесса. Это делается командой "addr PROCESSNAME" в отладчике. Если имя процесса слишком длинное или сложное, можете написать "addr PID", где PID - Process ID - идентификатор процесса. Его можно узнать просто набрав команду "addr" и в появившемся списке посмотреть значение в колонке PID напротив нужного процесса. Еще можно после того, как команда "addr" выведет информацию о текущих процессах, выделить мышкой имя нужного процесса, нажать правую кнопку и затем "copy", после чего нажатием правой кнопки и выбором "paste" можно будет вставлять имя процесса из буфера.

Вот пример того, что можно увидеть после ввода команды "addr":


CR3         Addr        PID     NAME
........    ........    ....    .........
xxxxxxxx    xxxxxxxx    1234    BlueFace
xxxxxxxx    xxxxxxxx    0000    Idle

Теперь, чтобы, например, выделить процесс BlueFace, можно написать "addr 1234" или "addr blueface".


У меня не ставится breakpoint на функцию hmemcpy. Почему и что делать?

Скорее всего проблема в том, что у вас Windows 2K/XP. Там нет функции hmemcpy. Но не расстраивайтесь: в 99% случаев есть более удобные пути.