• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Работа с памятью

  • Автор темы wind0vs
  • Дата начала
Статус
Закрыто для дальнейших ответов.
W

wind0vs

Меня интересует как считать данные и/или записать в заранее определенную ячейку памяти.
Есть какой-то адрес (FFFFFFFF - не важно). Как мне считать данные по этому адресу и как занести данные именно туда?
Тут, как я понимаю, нужен указатель с этим адресом. Как сделать так, чтобы указатель хранил нужный адрес?
Меня интересует работа с interior_ptr.
Код -
C++:
int *p,abc=1;
p = &abc;
(Этот код не является показателем того что необходимо сделать)
- не работает из-за иного представления указателей.
Как работать с interior_ptr?
Может есть готовые функции по записи и считыванию определенного адреса?
 
G

grigsoft

Ну примерно так:
Код:
int* p = (int*)12345;
int nVal = *p;

Но:
1. это все только внутри твоего процесса, а в виндовс каждый процесс имеет собственную адресацию
2. часть адресов для приложения недоступны
3. Обращение к невыделенной памяти закончится исключением

В остальном можно пробовать, но на самом деле тебе скорее всего это не нужно - ты задачу решаешь не с той строны. Ну и как всегда, Рихтер рекомендуется к прочтению чтобы понимать о чем речь при разговоре о памяти в Windows.
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!