Взлом памяти/распределение памяти: почему это работает и как?C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Взлом памяти/распределение памяти: почему это работает и как?

Сообщение Anonymous »

Я знаю, что вы ищете какой-то адрес некоторых переменных в программе, которой пытаетесь манипулировать. И как только вы его найдете, вы попытаетесь найти для него «базовый указатель», чтобы независимо от того, где находится процесс, вы все равно могли получить доступ к этим переменным. Я имею в виду, что при перезапуске процесса переменные будут иметь разные адреса, но вы все равно знаете где они.

Теперь я не понимаю, почему это возможно?

допустим, я делаю это на C++ :

Код: Выделить всё

int *x = (int*)malloc(sizeOf(int));
разве это не динамично? и не должен ли x быть помещен в «случайный» адрес, который был свободен в то время?
По сути, я спрашиваю, где на самом деле находится x, когда этот код выполняется?

РЕДАКТИРОВАТЬ: я имею в виду, что обычно переменные, такие как здоровье, хранятся по таким адресам, как game.exe + 0000caff, и тогда вы всегда можете найти их там.

EDIT: я имею в виду, что обычно переменные, такие как Health, хранятся по адресам, таким как game.exe + 0000caff, и тогда вы всегда можете найти их там.

EDIT: обычно переменные, такие как Health, хранятся по адресам, таким как game.exe + 0000caff, и тогда вы всегда можете найти их там.>

Подробнее здесь: https://stackoverflow.com/questions/297 ... rk-and-how
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»