![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы
![]() |
Поиск в этой теме
![]() |
![]() |
#1 |
Форумчанин
Регистрация: 14.12.2009
Сообщений: 716
|
![]()
Доброго времени суток Уважаемые специалисты. Есть такой вопросик, как можно найти реальный адрес переменной, например как в примере кода LOCAL.1? MOV DWORD PTR SS:[EBP-4],ECX
То есть я правильно понимаю, отняв от указателя 4 и перейти по адресу в дампе, развернув адрес мы и получим реальной адрес нашей переменной так? Если так, какие методы еще существуют? Код:
Последний раз редактировалось coNsept; 08.03.2011 в 21:39. |
![]() |
![]() |
![]() |
#2 | |
Участник клуба
Регистрация: 11.01.2010
Сообщений: 1,139
|
![]() Цитата:
Код:
|
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 23.04.2009
Сообщений: 346
|
![]()
Вопрос с первым ответом поражают своей жестокостью проявляющейся в наличии адресов в ВП и опкодов инструкций
![]() В процедуре из вопроса происходит сравнение двух значений в неких структурах, адреса которых подаются в регистре есх и в аргументе функции в стеке. В обоих случаях из структур берутся значения двордов по смещению 08h от начала каждой структуры, значения эти и сравниваются. [Локал.1] это похоже на какой то плуг к олли, который посчитал что тут локальная переменная, когда здесь просто вершина стека очень хитро адресуется через ebp, а переменных нет вообще. Остальное по вопросу не понял ![]()
Нет, ну правда..
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 14.12.2009
Сообщений: 716
|
![]()
Вообщем желание удовлетворено, теперь картина стала яснее, спасибо вам ребят
![]() |
![]() |
![]() |
![]() |
#5 | |
добрый няша
Старожил
Регистрация: 29.10.2006
Сообщений: 4,804
|
![]() Цитата:
Код:
т.е. адрес right будет ECX+8, а само значение [ECX+8] что такое класс - это чисто высокоуровневое понятие, де-факто это та же структура. От структуры класс отличается только тем что в ней есть private-поля и protected-поля и защита доступа к ним реализуется чисто за счёт того что на этапе компиляции при попытке доступа к private-полю или protected-полю мы получим ошибку, на уровне ассемблера защита чисто формальная . Функция-член (метод) класса это такое же поле только поле содержит адрес искомой функции. |
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Адресация многомерных массивов | Valter | Общие вопросы C/C++ | 6 | 17.12.2010 12:59 |
mpi и адресация переменных | SkrudjMakdak | Общие вопросы C/C++ | 0 | 26.04.2010 16:53 |
адресация в формулах | andrewx | Microsoft Office Excel | 2 | 29.06.2009 17:44 |
LPT-порт адресация #378 | Dj_smart | Компьютерное железо | 0 | 08.06.2009 15:53 |
StringGrid:=адресация | Nemesisking | Компоненты Delphi | 12 | 02.03.2007 02:20 |