· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.UNIX —› [at&t] вопрос по "прыжкам" и ret`у.

Посл.отвђт Сообщенiе


Дата: Июн 30, 2004 10:02:53

Приветствую!
Что-то я совсем запутался.
Например имеем код:
xor %eax,%eax
inc %eax
int $0x80
Как всем понятно выполняется syscall_exit.
Теперь пробую сделать так:

xor %eax,%eax
jmp test
int $0x80
test:
.asciz "\x40\xc3" # 40 - inc %eax , c3 - ret
т.е. п логики вещей сначало выполняется xor %eax,%eax
после этого следует прыжок на inc %eax, после этого возврат к
месту прыжка, т.е. к int $0x80. Но невыходит задуманное :(

Объясните где я ошибся?

Заранее спасибо за ответы.


Дата: Июн 30, 2004 10:21:37

looser
Команда jmp ничего не помещает в стек.


Дата: Июн 30, 2004 10:33:04

2 q_q - sorry, я твоего ответа не понял :) объясни поподробнее что ты имел ввиду.


Дата: Июн 30, 2004 10:43:08

looser
Поменяй jmp на call =)


Дата: Июн 30, 2004 12:40:10

Большое спасибо за ответ!
Все получилось :)


Дата: Июн 30, 2004 18:19:58

Или, как вариант, можно добавить push перед jmp :)


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.054