• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

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

  • Автор темы 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.
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

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