Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.75
Mr.Santiaga
3 / 3 / 0
Регистрация: 03.11.2010
Сообщений: 72
#1

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

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

У меня есть адрес например 0x11E9B62C как узнать что по нему записанно?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.07.2011, 00:56     Данные по адресу памяти
Посмотрите здесь:

Прочитать из памяти по адресу - C++
Задача: в памяти по адресу 0040:0010h (0x00400010) записано слово (информация о подключенном оборудовании). Нужно прочитать 12-й бит этого...

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

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

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

Выделение памяти по известному адресу - C++
Всем привет. Вопрос сообственно в заголовке темы. Как выделить память по нужному мне адресу, например: Я хочу выделить память n*...

Почему обращение к недоступному адресу в памяти - C++
Почему при проверке кода(компиляции) выскакивает сообщение :"Недостаточный размер массивов или обращение по недоступному адресу в памяти" ?...

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

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

Добавлено через 11 минут
Все сделал
Techno
Вирусоборец
317 / 119 / 2
Регистрация: 15.07.2011
Сообщений: 293
21.07.2011, 02:01     Данные по адресу памяти #4
Цитата Сообщение от Mr.Santiaga Посмотреть сообщение
Все сделал
Как?
Mr.Santiaga
3 / 3 / 0
Регистрация: 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.
Проверя с помощью артмани, значения адресов у меня правильные.
rrrFer
Заблокирован
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.
Mr.Santiaga
3 / 3 / 0
Регистрация: 03.11.2010
Сообщений: 72
21.07.2011, 13:57  [ТС]     Данные по адресу памяти #7
Я запутался
Можно пример?
Kastaneda
Форумчанин
Эксперт С++
4514 / 2856 / 228
Регистрация: 12.12.2009
Сообщений: 7,251
Записей в блоге: 1
Завершенные тесты: 1
21.07.2011, 14:33     Данные по адресу памяти #8
Цитата Сообщение от Techno Посмотреть сообщение
Как?
C++
1
2
3
//например нам нужны данные размером sizeof(int)
int *ptr=(int*)0x11E9B62C;
std::cout<<*ptr<<std::endl;//если чтение по этому адресу разрешено, то все будет OK)
Добавлено через 1 минуту
для данного случая (чтение памяти чужого процесса) это, конечно же, не будет работать.
Mr.Santiaga
3 / 3 / 0
Регистрация: 03.11.2010
Сообщений: 72
21.07.2011, 15:19  [ТС]     Данные по адресу памяти #9
Спасибо, но я уже разобрался.
Вот еще вопрос.
Как мне написать библиотеку в VS? В том плане что нужна библиотека, которую можно будет подключить к проекту на C#, но которая бы не использовала Framework..
asics
Freelance
Эксперт С++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
21.07.2011, 15:48     Данные по адресу памяти #10
Mr.Santiaga, Это ?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.07.2011, 16:44     Данные по адресу памяти
Еще ссылки по теме:

Вызов функции-члена класса по адресу в памяти - C++
Всем хорошего дня :) Допустим, что где-то есть static функция, не принимающая аргументов и ничего не возвращающая. Имея один лишь...

Вызвано исключение по адресу 0x0FD466CB (ucrtbased.dll). Динамическое выделение памяти - C++
Проблема в динамическом выделении памяти. Функция multiply доходит до возвращения объекта и вылетает исключение. Если функция вернет просто...

Разработать программу позволяющую получить дамп памяти по адресу содержащему вводимые числа - C++
Разработать программу позволяющую получить дамп памяти по адресу содержащему вводимые числа. Программа должна предусматривать вывод...

Не могу прочитать данные ячейки памяти - C++
Подскажите пожалуйста что не так. Адресс ячейки вычислил через артмани. Код процесса выводит верно, а значение памяти нет. Для примера взял...

Как сохранить данные контейнера в разделяемой памяти - C++
Ищу быстрый способ обмена данными между процессами. Процессы - одинакового типа т.е одна и та же программа и все процессы на одной машине. ...


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

Или воспользуйтесь поиском по форуму:
Mr.Santiaga
3 / 3 / 0
Регистрация: 03.11.2010
Сообщений: 72
21.07.2011, 16:44  [ТС]     Данные по адресу памяти #11
Да это оно, но как сменить целевую среду с Freamwork 4 на 2
Yandex
Объявления
21.07.2011, 16:44     Данные по адресу памяти
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru