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

 eXeL@B —› Основной форум —› джампы после рета
Посл.ответ Сообщение

Ранг: 13.0 (новичок)
Активность: 0=0
Статус: Участник

Создано: 04 октября 2005 10:39
· Личное сообщение · #1

В листингах программ, написанных на Delphi, часто можно заметить после ret'а два jmp'а.
Это не глюк Иды или Софтайса. Исследование Софтайсом показывает , что после рета перехода на эти джампы не происходит. Вопрос: зачем они нужны?



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

Создано: 04 октября 2005 10:45
· Личное сообщение · #2

Покажи

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




Ранг: 516.1 (!), 39thx
Активность: 0.280
Статус: Участник

Создано: 04 октября 2005 11:16
· Личное сообщение · #3

seh может



Ранг: 60.4 (постоянный)
Активность: 0.030
Статус: Участник

Создано: 05 марта 2006 18:43
· Личное сообщение · #4

Посмотри, нет ли обращения к адресу, по которому расположен джамп, возможно это мудрёный вызов процедуры. Да кстати, IDA может незаметить обращение к этому адресу, если он генерится динамически...




Ранг: 122.3 (ветеран)
Активность: 0.050
Статус: Участник

Создано: 05 марта 2006 19:45
· Личное сообщение · #5

да такое очень часто встречается.

выглядит например так:

:00480F0E C3 ret
:00480F0F E90C26F8FF jmp 00403520
:00480F14 EBF8 jmp 00480F0E


по адресу 00403520 процедура на которую ссылается туева хуча таких джампов.
00480F0E - указывает на рет выше

Исследование Софтайсом показывает , что после рета перехода на эти джампы не происходит
происходит, если вызвать искл ситуацию, то управление как раз попадет на адрес 00403520 в данном случае.

то есть Av0id оказался прав



Ранг: 12.2 (новичок)
Активность: 0=0
Статус: Участник

Создано: 06 марта 2006 09:25
· Личное сообщение · #6

Так это запчасти от try except/finally скорее всего. DeDe про них тебе все расскажет.


 eXeL@B —› Основной форум —› джампы после рета
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


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