Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/50: Рейтинг темы: голосов - 50, средняя оценка - 5.00
4 / 4 / 2
Регистрация: 03.11.2010
Сообщений: 72
1

Данные по адресу памяти

21.07.2011, 00:56. Показов 9469. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
У меня есть адрес например 0x11E9B62C как узнать что по нему записанно?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.07.2011, 00:56
Ответы с готовыми решениями:

Доступ к памяти по адресу
Есть структура, элементы которой адрес на начало массива в памяти и его размер. Адреса хранятся в...

Прочитать из памяти по адресу
Задача: в памяти по адресу 0040:0010h (0x00400010) записано слово (информация о подключенном...

Выделение памяти по известному адресу
Всем привет. Вопрос сообственно в заголовке темы. Как выделить память по нужному мне адресу,...

Доступ к произвольному адресу памяти
Есть известный адрес в памяти с известным значением int Хотел бы проверить это значение после того...

10
Вирусоборец
318 / 120 / 2
Регистрация: 15.07.2011
Сообщений: 293
21.07.2011, 01:13 2
Цитата Сообщение от Mr.Santiaga Посмотреть сообщение
У меня есть адрес например 0x11E9B62C как узнать что по нему записанно?
А откуда Вы этот адрес берете?
0
4 / 4 / 2
Регистрация: 03.11.2010
Сообщений: 72
21.07.2011, 01:48  [ТС] 3
Цитата Сообщение от Techno Посмотреть сообщение
А откуда Вы этот адрес берете?
Это точка входа + нужное смещение

Добавлено через 11 минут
Все сделал
0
Вирусоборец
318 / 120 / 2
Регистрация: 15.07.2011
Сообщений: 293
21.07.2011, 02:01 4
Цитата Сообщение от Mr.Santiaga Посмотреть сообщение
Все сделал
Как?
0
4 / 4 / 2
Регистрация: 03.11.2010
Сообщений: 72
21.07.2011, 02:54  [ТС] 5
C++
1
2
3
4
5
6
BOOL ReadProcessMemory( 
HANDLE hProcess, 
LPCVOID lpBaseAddress, 
LPVOID lpBuffer, 
SIZE_T nSize, 
SIZE_T* lpNumberOfBytesRead );
Но проблема все же есть, заключается в том, что значение чаще всего читается как 0.
Проверя с помощью артмани, значения адресов у меня правильные.
0
Заблокирован
21.07.2011, 06:45 6
Mr.Santiaga,
Цитата Сообщение от Mr.Santiaga Посмотреть сообщение
значение чаще всего читается как 0.
неверный тип данных читаете( по адресу записан DWORD, например, а читаете WORD )
неверный размер передаете( 4 аргумент )
проверьте значение, которое вернулось по указателю в 5 аргументе( должно совпадать со значением 4 аргумента ).
хэндл-то верно передаете? (откуда его берете ?). Цитата с мсдн:
hProcess [in]

A handle to the process with memory that is being read. The handle must have PROCESS_VM_READ access to the process.
2
4 / 4 / 2
Регистрация: 03.11.2010
Сообщений: 72
21.07.2011, 13:57  [ТС] 7
Я запутался
Можно пример?
0
5231 / 3204 / 362
Регистрация: 12.12.2009
Сообщений: 8,116
Записей в блоге: 2
21.07.2011, 14:33 8
Цитата Сообщение от Techno Посмотреть сообщение
Как?
C++
1
2
3
//например нам нужны данные размером sizeof(int)
int *ptr=(int*)0x11E9B62C;
std::cout<<*ptr<<std::endl;//если чтение по этому адресу разрешено, то все будет OK)
Добавлено через 1 минуту
для данного случая (чтение памяти чужого процесса) это, конечно же, не будет работать.
1
4 / 4 / 2
Регистрация: 03.11.2010
Сообщений: 72
21.07.2011, 15:19  [ТС] 9
Спасибо, но я уже разобрался.
Вот еще вопрос.
Как мне написать библиотеку в VS? В том плане что нужна библиотека, которую можно будет подключить к проекту на C#, но которая бы не использовала Framework..
0
Freelance
Эксперт С++
2891 / 1826 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
21.07.2011, 15:48 10
Mr.Santiaga, Это ?
0
4 / 4 / 2
Регистрация: 03.11.2010
Сообщений: 72
21.07.2011, 16:44  [ТС] 11
Да это оно, но как сменить целевую среду с Freamwork 4 на 2
0
21.07.2011, 16:44
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.07.2011, 16:44
Помогаю со студенческими работами здесь

Взятие обьекта по адресу в памяти
Допустим, я знаю что по адресу 0x13242341 находится произвольный обьект. Как возвратить...

Заполнить струтуру по адресу в памяти
Есть структура и адрес где она начинается. На сколько я понимаю надо просто засунуть ее начало...

Почему обращение к недоступному адресу в памяти
Почему при проверке кода(компиляции) выскакивает сообщение :&quot;Недостаточный размер массивов или...

Как сделать массив в памяти по фиксированному адресу?
Есть микропроцессор, и в нем по жестко зафиксированному адресу находится массив ячеек. Допустим...


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

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