Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
40 / 60 / 8
Регистрация: 16.11.2012
Сообщений: 460
Записей в блоге: 7
1

Получение значений памяти по указателю

04.08.2015, 21:13. Показов 1487. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
проблема следующая, имею многоуровневый указатель

(изобразил как смог в общих чертах, два варианта)
вар_1

offset | address | value
| 1F405470 | 100 health
70 | 1F405400 | 1F405470
2C | 1D96A2A0 | 1F405400
780 | OFB36000 | 1D96A2A0
754 | 120376D8 | OFB36000

вар_2

"mono-1-vc.dll"+001F588C -> 120376D8+754 -> OFB36000 + 780 ->1D96A2A0 +2C->1F405400+70 -> 1F405470

1F405470 = 100

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

код будет заинжекчен dll-кой , и как вычитал у него будет общее адресное пространство, но что то я не очень въезжаю как сделать, хелп ми!

Добавлено через 1 час 36 минут

Не по теме:

никто не в силах мне помочь :(( *ДРАМАТИЗИРУЮ*

0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.08.2015, 21:13
Ответы с готовыми решениями:

Получение массива по указателю
Привет, возникла сложность с пониманием как работают указатели, привожу код test(unsigned...

Извлечение из памяти по указателю
Не могу понять, как с помощью указателя извлечь строку из памяти имея адрес типа Integer. Указателю...

Выделение памяти указателю операцией new
Зачем строковому указателю на char* s1; выделять память s1=new char. Ведь при присваивании строки...

Динамическое выделение памяти указателю
есть указатель Piece* p; его нужно проинцилизровать динамическим способом. чтобы было примерно так...

1
3 / 3 / 4
Регистрация: 23.06.2014
Сообщений: 126
04.08.2015, 22:42 2
Лучший ответ Сообщение было отмечено Крюгер как решение

Решение

https://msdn.microsoft.com/en-... s.85).aspx
Если инжектишься в целевой процесс, то можно и напрямую читать:
C++
1
DWORD dwPtr = *(DWORD*)(Address);
или
Assembler
1
2
3
4
5
DWORD dwResult;
 __asm {
 mov eax, dword ptr [Address]
 mov dwResult, eax
 }
Как больше нравится
1
04.08.2015, 22:42
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.08.2015, 22:42
Помогаю со студенческими работами здесь

Присвоение указателю адреса памяти, прописанного в стринге
Доброго времени суток! Есть переменная стринг, содержащая адрес памяти. Как присвоить указателю...

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

Изменение значений переменных по ссылке и по указателю
Есть два способа изменить значения переменных: #include <iostream> // use: swap1(one, two);...

получение структуры из нативной библиотеки по указателю
Для этого использую Marshal.PtrToStructure. Но проблема в том что структура, которую я получаю...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru