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

 eXeL@B —› Вопросы новичков —› Трассировка в debug -> дошёл до int 21 -> ...сколько в "int 21" команд? Я перебрал 1
Посл.ответ Сообщение

Ранг: 3.2 (гость)
Активность: 0.010
Статус: Участник

Создано: 28 июня 2008 10:16 · Поправил: zayats
· Личное сообщение · #1

То есть я понимаю, по int 21 мы вызываем некоторую встроенную функцию, которая в зависимости от содержания DX и AH выведет нам на экран строку. Так же я понимаю, что int 21 сложна и состоит из других команд. Из скольки? Вот простая программа pr.com, набранная в Hiewе

mov ah, 09h
mov dx, 0109h
int 21
int 20
<текст строки, заканчивающийся символом $>

Дальше в cmd команда debug pr.com Потом трассируем (t <Enter>) Трассировке подлежит толкьо первых 3 шага, а потом начинается непонятно что (я так думаю, составные int 21, c какими-то зашкаливающими адресами). Я их перебирал-перебирал, перевалил за 100 и плюнул.

Ребята, сколько итх там всего? Увижу я наконец, с помощью трассировки сою строку и вожделенное int 20?

По pr.com строка выводится без нареканий. Отладчиком CodeView не пользуюсь пока- там свои заморочки, с ним отдельно разбираться надо. debug- это отладчик, вcтроенный в Windows XP



Ранг: 159.1 (ветеран), 7thx
Активность: 0.130
Статус: Участник

Создано: 28 июня 2008 11:26 · Поправил: tempread
· Личное сообщение · #2

Если я правильно понимаю, то исследуется код под операционку DOS(а винда это все дело эмулирует).
Существует таблица адресов функций, которые будут вызываться при выполнении команды INT. Т.е. при вызове INT 21 будет взят адрес из этой таблицы( с ячейки [адрес начала таблицы+21*4]) и туда передано управление. Упрощенно можно понимать эту таблицу,как функции,предоставляемой программам операционной системой DOS.

int,при трассировке, можно разценивать как call. Только call обычно делается в пределах кода своей программы, а int вызывает внешнюю функцию.

Очень часто DOS'овкие int'ы обращаются к BIOS'овским int'ам(т.е. обработчиики прописаны в самом BIOS), которые выполняют все на более низком уровне(с точки зрения алгоритма).




Ранг: 279.1 (наставник)
Активность: 0.160
Статус: Участник
wizard

Создано: 28 июня 2008 15:14 · Поправил: MACKLIA
· Личное сообщение · #3

tempread пишет:
Существует таблица адресов функций, которые будут вызываться при выполнении команды INT.


Она называются таблица векторы прирывания .
Вектор прерывания — ячейка памяти, содержащая адрес обработчика прерывания ,который выполняет работу по обработке события ,а затем возвращает управление в прерванный код.

tempread пишет:
int,при трассировке, можно разценивать как call.

можно

tempread пишет:
Только call обычно делается в пределах кода своей программы, а int вызывает внешнюю функцию.


int конечно вызывает внешнюю функцию ,но насчет call это не обязательно.

-----
Что один человек сделал , другой всегда сломать может...




Ранг: 495.3 (мудрец)
Активность: 0.30
Статус: Участник

Создано: 01 июля 2008 16:03
· Личное сообщение · #4

А поискать лень?
yandex.ru/yandsearch?rpt=rad&text=%D0%BE%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%BE%D1%82%D0%BB%D0%B0%D0%B4%D1%87%D0%B8%D0%BA%D0%B0%20debug
(Используй команду P - трассировка без захода в функции).
Слишком много у тебя вопросов, на которые ответ находится в первой строчки поисковика.

zayats пишет:
Отладчиком CodeView не пользуюсь пока- там свои заморочки, с ним отдельно разбираться надо

Дело, конечно, твоё, но дальше будет слишком трудно привыкать к нормальной отладке в Ollydbg.

На будущее: если поиск не помогает, спрашивай у меня через личные сообщения.

-----
Всем привет, я вернулся





Ранг: 279.1 (наставник)
Активность: 0.160
Статус: Участник
wizard

Создано: 01 июля 2008 17:44 · Поправил: MACKLIA
· Личное сообщение · #5

Bitfry пишет:
Дело, конечно, твоё, но дальше будет слишком трудно привыкать к нормальной отладке в Ollydbg.


Так может лучше с него и начинать -Цикл статей «Введение в крэкинг с нуля, используя OllyDbg» http://wasm.ru/series.php?sid=17 http://wasm.ru/series.php?sid=17 или хотя бы изучать параллельно.

-----
Что один человек сделал , другой всегда сломать может...




Ранг: 495.3 (мудрец)
Активность: 0.30
Статус: Участник

Создано: 01 июля 2008 21:43
· Личное сообщение · #6

MACKLIA пишет:
Так может лучше с него и начинать -Цикл статей «Введение в крэкинг с нуля, используя OllyDbg» wasm.ru/series.php?sid=17 или хотя бы изучать параллельно.

А кто против?
Я-то только за. Везде пишу: чем больше источников, тем лучше.

-----
Всем привет, я вернулся



 eXeL@B —› Вопросы новичков —› Трассировка в debug -> дошёл до int 21 -> ...сколько в "int 21" команд? Я перебрал 1
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


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