doc9009

Смещения вида [edx + ebp*4+125]

3 сообщения в этой теме

Привет всем! Допустим я наткнулся на такое смещение указателя: ebp*4+125. Это, что получается динамическое смещение что ли? по идее значение в регистре ebp именно на месте этого смещения может свободно меняться с каждым перезапуском игры. Поправьте, если я в не ту сторону мыслю.

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Если ты видишь смещение вида [edx + ebp*4 + 125] - чаще всего это значит, что чтение (или запись) идет из какого-то массива данных. В данном случае получается, что

edx - базовый указатель

edx+125 - адрес начала массива

ebp - индекс элемента в массиве (умножение на четыре говорит, что в данном случае используется массив из четырехбайтных элементов)

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Какая разница как это называется "дин. смещение" или "дин. адрес". Можешь редактировать инструкцию чтобы она писала нужное значение... Примеров на форуме куча.

Странно видеть "ebp*4". Обычно в esp и ebp адрес на стек и умножать его на 4 это нонсенс.

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!


Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.


Войти сейчас