Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 25.12.2017, 21:59   #11
7in
(aka Jin X) !RTFM!
Форумчанин
 
Аватар для 7in
 
Регистрация: 14.12.2014
Сообщений: 293
По умолчанию

Короче говоря, если есть относительный адрес RA и адрес инструкции IA, тогда:
• Если нужно найти абсолютный адрес, то делаем IA+RA+длина инструкции
• Если нужно найти аналог, который находится по адресу NA, то ищем на месте относительного адреса число IA-NA+RA (где IA и RA – адреса из любой найденной ранее инструкции). Т.е. тут, по сути, уже неважно чем является NA – началом инструкции, той частью инструкции, где хранится RA или конец инструкции. Главное везде придерживаться одного правила и, разумеется, это должна быть одна и та же инструкция. Ну а если разные (разной длины), тогда в качестве NA должен быть адрес следующей инструкции...
Делаю лабы на Asm/Delphi/C++/Python/VBA(Excel): asmlabs.ru
7in вне форума Ответить с цитированием
Старый 25.12.2017, 22:12   #12
arvitaly
Пользователь
 
Аватар для arvitaly
 
Регистрация: 01.08.2010
Сообщений: 51
По умолчанию

Цитата:
Значение регистра RIP – это адрес следующей инструкции после текущей. Я думаю, не проблема его найти, раз мы знаем адрес текущей инструкции...
Я правильно понимаю, что вот если у нас есть код
Цитата:
.text:00007FF6792C1B17
48 8D 15 8A 40 13 01
lea rdx, var1
то 48 - указатель на вид регистра, 8D - lea, 15 - rdx, 8A401301 - это 0x113408A (18038922) - смещение от
Код:
.text:00007FF6792C1B1E
(адрес следующей команды)?
arvitaly вне форума Ответить с цитированием
Старый 25.12.2017, 23:12   #13
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,197
По умолчанию

Цитата:
Сообщение от arvitaly Посмотреть сообщение
Я правильно понимаю
Откройте мануал процессора да посмотрите.
waleri вне форума Ответить с цитированием
Старый 26.12.2017, 13:46   #14
arvitaly
Пользователь
 
Аватар для arvitaly
 
Регистрация: 01.08.2010
Сообщений: 51
По умолчанию

Хорошо, спасибо
arvitaly вне форума Ответить с цитированием
Старый 27.12.2017, 06:03   #15
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,392
По умолчанию

arvitaly, есть такое понятие, как "Дельта смещение" (гугл в курсе).
Получив дельту, сможешь отталкиваться уже от неё..
Нашедшего выход - затаптывают первым..
R71MT вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Все данные от определенной даты Veryky C# (си шарп) 1 12.03.2016 23:06
Ожидание процесса, команды batch OmegaBerkut Windows 11 19.04.2015 10:18
Поиск в памяти процесса Mr_ViK Общие вопросы Delphi 5 27.08.2012 20:38
Чтение памяти процесса Maincore Win Api 12 14.08.2012 21:34
Редактирование памяти процесса Dima DDM Общие вопросы Delphi 0 25.12.2010 16:54


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS