|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
30.04.2010, 14:56 | #11 | ||
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
Я что-то ничего не пойму. То оно у вас работает, то не работает. Вы четко вопрос можете сформулировать ? А то выходит, что ваш первый пост с вопросом оказывается работает. Чушь какая то. Ну передать управление цп по адресу можно с помощью call, jmp и т.п. просто call + ret самое то в таких случаях, причем тут push я не пойму. И еще
Цитата:
Цитата:
|
||
30.04.2010, 15:03 | #12 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
помоему вы сами сказали что терь скайп юзает чтото иное.
ВОВАН, он работает за счет того что подменяет адрес возврата своей функой(при call же кладется адрес возврата), потом делает ret на него. но прикол в том что стек то не выравнен, что грозит переполнением Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
30.04.2010, 16:15 | #13 |
Регистрация: 12.03.2010
Сообщений: 9
|
http://programmersforum.ru/showpost....89&postcount=5
вот здесь я писал почему не работает и про то что не то перехватыл. А сейчас мне интересно просто как оно должно быть правильно сделано. как сказал Пепел Феникса это грозит переполнение,.. вот как это избежать то.. Я так понимаю всё что я сделал push должен потом сделать pop чтобы чтобы адрес возрата не вел куда попало.... Но когда это я должен сделать?... + я ж возвращаю всё в прежний вид когда длл выгружается,.. т.е. делаю push старый адрес в стек. Когда будет переполнение? Хотя, я ж ложу и ложу в стек,.. а не достаю.... ЗЫ. Мужики, не нервничаем я с ассемблером на вы потому у меня всё начинается и заканчивается просто мануалами в инете,... Напрямую работа с ним не связана. Если говорю бред то просто исправьте и не обращайте внимание Принимаю любые поправки Последний раз редактировалось kleop; 30.04.2010 в 16:33. |
15.06.2010, 21:41 | #14 | |
Пользователь
Регистрация: 06.06.2010
Сообщений: 42
|
BOBAH13
Цитата:
push addr ret эквивалентна одной команде jmp addr |
|
15.06.2010, 22:04 | #15 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
да, но тем не менее там сравнение идет с call а не c jmp.
не путайте Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Skype & DirectSoundCreate сплайсинг невыходит | kleop | Win Api | 1 | 29.04.2010 21:51 |
Skype & DirectSoundCreate сплайсинг невыходит | kleop | Win Api | 0 | 29.04.2010 18:22 |
Сплайсинг | Doom_Rooster | Общие вопросы Delphi | 0 | 17.04.2010 20:34 |
TForm & TImage & PNG & Прозрачность | delphi_beginner | Общие вопросы Delphi | 7 | 19.09.2009 08:46 |