Электронная библиотека

Хакер


Хакер

HACK-FAQ

Xakep Online -> Журнал, номер #011, стр. 011-056-2


Теперь о часто используемых командах. Для получения более полной (но все же короче, чем в .PDF'е) справки воспользуйся командной "HELP" ("H") или просто набирай название нужной тебе команды, и ты прочитаешь ее описание с параметрами.

Ловушки:

BPX <адрес или название экспортированной функции>

Устанавливает ловушку на исполнение кода по адресу <адрес или название экспортированной функции>. Как только комбинация регистров CS:EIP будет совпадать с этим адресом - SoftICE сразу же покажет свой экранчик. ;)

BPM <адрес>

Устанавливает ловушку на чтение, запись или обработку данных по адресу <адрес>. Можно указать размер Byte, Word, DWord. Полезно для нахождения обработки данных из памяти, когда это осуществляется нестандартными методами.

BPINT <номер прерывания> { IF [AX][AH][AL]==<значение> }

Устанавливает ловушку на прерывание <номер прерывания>. Можно установить с условием вызова этого прерывания. Синтаксис описан выше.

BPIO <номер порта>

Про команду BPIO было сказано выше в этом FAQ.

BL

Посмотреть список установленных ловушек.

BD <номер ловушки>

Выключить ловушку под номером <номер ловушки>. Можно использовать диапазоны номеров.

BE <номер ловушки>

Включить ловушку под номером <номер ловушки>. Можно использовать диапазоны номеров.

BC <номер ловушки>

Удалить ловушку под номером <номер ловушки>. Можно использовать диапазоны номеров.

Редактирование памяти:

EB/EW/ED

Редактирование дампа памяти размерностью Byte, Word, DWord

EC

Редактирование дампа памяти в окне продизассемблированного кода.

Другое:

U <адрес>

Посмотреть кусок кода по адресу <адрес>.

. (точка)

Вернуться на текущий адрес, то есть на комбинацию CS:EIP.

S <начальный адрес> L<длина> <строка данных>

Осуществляет поиск <строки данных> с <начального адреса> длиною <длина>.

Q: Наконец-то я разобрался с IDA, и теперь мне захотелось написать... ну, допустим файл сигнатуры для компилятора, который с ее помощью не распознается. Как мне быть, никаких форматов ведь нет?

A: В поставку The Interactive Disassembler Pro входит IDA SDK. Как раз в этом пакете и описываются структуры всех файлов. В SDK, естественно, есть и примеры по созданию файлов-сигнатур. В принципе, IDA SDK распространяется бесплатно... с IDA. Но из-за того, что сама IDA стоит денег (и причем немалых) ;), найти SDK довольно сложно. В случае таких проблем - пиши мне. Во-первых, есть самая последняя IDA - v4.0. Во-вторых, есть SDK к ней.

Q: Как ломаются аппаратные ключи? Ведь есть же какой-то определенный, скажем так, стандартный способ взлома?

A: Да, существует такой подход. Если ключ неизвестен (то есть, осмотрев его, ты не понял, кто его производитель, и не смог найти в Интернете его сайт), то приходится разбираться в протоколе общения ключа через порт принтерного адаптера (или смотря какой это порт). Для осуществления таких "разбирательств" =) на порт устанавливается ловушка, например, средствами SoftICE'а это делается следующим образом: "BPIO 378" (где 378 - это адрес порта, в данном случае - LPT1). При чтении данных из порта или при записи их в него ты сразу же оказываешься в SoftICE'е, что позволяет тебе рассмотреть, какие параметры куда и как передаются, вычленить API ключа. Это довольно сложная работа, особенно если ключ нехило наворочен. Но чаще всего название ключа становится понятным при первом же его осмотре. А по названию ключа ты сразу же узнаешь Интернет сайт производителя, откуда уж если не на халяву, то другими ;-) путями можно скачать API для работы с этим ключом.

Назад на стр. 011-056-1  Содержание  Вперед на стр. 011-056-3