Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.05.2014, 20:25   #1
SPLER
Пользователь
 
Регистрация: 15.02.2014
Сообщений: 53
Вопрос Значение регистра.

Hello, ребят, такой вопрос.
Нахожу адрес в памяти процесса, по которому расположена инструкция такого типа "mov eax,[esi+000002F8]". Вопрос, можно ли, получить значение регистра "ESI" ? И если возможно, то каким образом?
SPLER вне форума Ответить с цитированием
Старый 26.05.2014, 20:30   #2
саша40
Участник клуба
 
Регистрация: 12.09.2012
Сообщений: 1,030
По умолчанию

Вопрос: А зачем? Декодировкой на ассемблере тут не занимаются.
Что нужно программисту: Компьютер, Среда программирование, Воображение, Прямые руки, Мозги, Знания этой среды программирования.
Программист-это профессия, а программирование-это моё хобби.
саша40 вне форума Ответить с цитированием
Старый 26.05.2014, 20:36   #3
SPLER
Пользователь
 
Регистрация: 15.02.2014
Сообщений: 53
По умолчанию

В смысле зачем? Раз есть вопрос, значит есть причина для того что бы его задать, не так ли? Но все же отвечу, в ESI со смещением, находится значение, а именно адрес, который мне и нужно получить. Это своего рода "указатель".

Дополню, вот собственно и адрес и инструкция, для большей наглядности 0AB6C88E - mov eax, [esi+000002F8].

Последний раз редактировалось Stilet; 26.05.2014 в 22:43.
SPLER вне форума Ответить с цитированием
Старый 26.05.2014, 21:51   #4
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

ну а все таки зачем? это к тому что может есть что полегче..
eval вне форума Ответить с цитированием
Старый 26.05.2014, 21:55   #5
SPLER
Пользователь
 
Регистрация: 15.02.2014
Сообщений: 53
По умолчанию

Я же написал, в ESI значение адреса, вот мне надо его получить, для дальнейшей работы с ним.
SPLER вне форума Ответить с цитированием
Старый 26.05.2014, 23:47   #6
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Сообщение от SPLER Посмотреть сообщение
Я же написал, в ESI значение адреса, вот мне надо его получить, для дальнейшей работы с ним.
адрес берется из другого места, смотрите где заполняется esi.
а так только под отладкой вашего приложения.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 27.05.2014, 00:57   #7
SPLER
Пользователь
 
Регистрация: 15.02.2014
Сообщений: 53
По умолчанию

А не вариант, подключиться к процессу из своей программы, после подключение выполнить, например, по адресу 00000000, инструкцию mov eax,[esi] путем
asm
MOV EAX, [ESI]
end;
Ну и отключиться от процесса. Просто по сути, если вариант, то так же можно записать ESI в свою переменную, а не в ЕАХ.
SPLER вне форума Ответить с цитированием
Старый 27.05.2014, 02:59   #8
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,872
По умолчанию

Цитата:
Сообщение от SPLER Посмотреть сообщение
А не вариант, подключиться к процессу из своей программы, после подключение выполнить, например, по адресу 00000000, инструкцию mov eax,[esi] путем
asm
MOV EAX, [ESI]
end;
Ну и отключиться от процесса. Просто по сути, если вариант, то так же можно записать ESI в свою переменную, а не в ЕАХ.
Это ты так решил после чтения статьи про работу с отладчиком?
northener вне форума Ответить с цитированием
Старый 27.05.2014, 04:21   #9
SPLER
Пользователь
 
Регистрация: 15.02.2014
Сообщений: 53
По умолчанию

Цитата:
Сообщение от northener Посмотреть сообщение
Это ты так решил после чтения статьи про работу с отладчиком?
это взято с потолка.
SPLER вне форума Ответить с цитированием
Старый 27.05.2014, 07:36   #10
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Сообщение от SPLER Посмотреть сообщение
это взято с потолка.
нет нельзя, да и есть траблы с тем что отлаживаемый процесс без отладчика умирает(или это обошли как то? не припомню но вдруг).
и по нулевому адресу ничего выполнить нельзя.(да и есть методы лучше)
ага, из разных процессов так просто не перекинешь данные.

в общем я сказал ниже что делать, устраивает вас это или нет, решать вам.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Укажите чему будет равно значение регистра eax после выполнения данного блока инструкций dmitryxxx Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 5 08.01.2013 13:59
Преобразовать все буквы нижнего регистра в буквы верхнего регистра druger Помощь студентам 5 18.09.2011 17:27
Как вывести значение регистра данных на экран??? ~VL@D~ Помощь студентам 0 30.03.2011 14:16
Значение регистра _AN. ТриСемёрки Общие вопросы C/C++ 3 25.03.2011 18:57
Запись регистра xak2 Общие вопросы Delphi 4 07.05.2007 22:18