![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы
![]() |
Поиск в этой теме
![]() |
![]() |
#1 |
Форумчанин
Регистрация: 26.03.2010
Сообщений: 538
|
![]()
Доброго времени суток.
Нужно прыгнуть по абсолютному адресу. MASM, x64. Такой код работает: Код:
Код:
Единственный способ стать умнее - играть с более умным противником.
|
![]() |
![]() |
![]() |
#2 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
В хелпе:
Цитата:
Длинных на регистрах нет. По крайней мере в х86, в х64 думаю то же самое.
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,371
|
![]()
А что значи "не работает"?
Что загружается в реестр RAX? Куда именно уходит jmp? |
![]() |
![]() |
![]() |
#4 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]() Цитата:
всю жизнь была такая инструкция. а эти две это прыжок по адресу из памяти. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
![]() |
![]() |
![]() |
#5 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 26.03.2010
Сообщений: 538
|
![]()
Джампит куда-то не туда. В результате система падает.
В RAX загружается абсолютный адрес, на который нужно прыгнуть. Код:
Единственный способ стать умнее - играть с более умным противником.
|
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,371
|
![]()
Я имел ввиду, что *именно* загружается в RAX - какой адрес.
Судя по всему, адрес не правильный. Что-то с mov rax, AbsAddr не так... |
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 26.03.2010
Сообщений: 538
|
![]()
Адрес функции, на который нужно перепрыгнуть.
Получается в С-шном коде следующим образом: Код:
Код:
Единственный способ стать умнее - играть с более умным противником.
|
![]() |
![]() |
![]() |
#9 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,371
|
![]()
Отпечатайте адрес RoutineName и содержимое RAX.
Посмотрите машинный код, который сгенерила инструкция mov RAX, ... Оно отладчиком было бы легче... |
![]() |
![]() |
![]() |
#10 | |
Форумчанин
Регистрация: 26.03.2010
Сообщений: 538
|
![]() Цитата:
Код:
Код:
Код:
Единственный способ стать умнее - играть с более умным противником.
Последний раз редактировалось Sam Gold; 29.01.2015 в 23:18. |
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
JMP DWORD PTR [PAddress] - как узнать адрес | Enkee | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 1 | 03.11.2011 13:14 |
DOS->COM->абсолютный адрес загрузки | Пепел Феникса | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 5 | 24.10.2011 13:29 |
команда jmp | 777user777 | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 1 | 31.07.2011 00:28 |
C++/Абсолютный адрес регистра Ebp | coNsept | Общие вопросы C/C++ | 6 | 29.03.2011 12:56 |
WebBrowser Абсолютный и относительный адрес | nikmay | Общие вопросы Delphi | 1 | 01.10.2009 22:41 |