Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 13.02.2015
Сообщений: 16

Как прочесть несуществующую память?

13.02.2015, 16:26. Показов 1313. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет!
Читаю память внутри процесса с dll таким способом:
C++
1
2
3
HMODULE dll = GetModuleHandleA("process.exe");
DWORD base = (DWORD)dll + 0x2C67D0;
DWORD *p2 = (DWORD*)(*(DWORD*)base + 0x4c);
Все работает, но иногда по адресу base + 0x4c нет никакого значения и при чтении вылетает ошибка c000005 и весь процесс крашится.
Как это обойти?

C++
1
if(!(DWORD*)(*(DWORD*)base + 0x4c)) тоже крашит процесс
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.02.2015, 16:26
Ответы с готовыми решениями:

Как прочесть (и, возможно, манипулировать) системную память?
Адреса в области вектора прерываний имею ввиду. В досе это делалось очень просто, а здесь память эту чтоб достать, нужно в kernel mode...

Как удалить несуществующую форму?
Здравствуйте! Существует БД, в которой удалена, но отображается в списке проекта(VBA) форма. В результате чего не удается переименовать...

Как переадресовать несуществующую страницу?
Здравствуйте. Подскажите пожалуйста как переадресовать несуществующую страницу: http://www.site.ru/index/dezinfekcija/0-19 на ...

5
Эксперт С++
 Аватар для schdub
3073 / 1411 / 425
Регистрация: 19.01.2009
Сообщений: 3,894
13.02.2015, 17:19
ArlekinLaMort, IsBadReadPtr?
0
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
13.02.2015, 17:28
Цитата Сообщение от ArlekinLaMort Посмотреть сообщение
Как это обойти?
Обернуть доступ к памяти в SEH-обработчик (__try/__except).
0
0 / 0 / 0
Регистрация: 13.02.2015
Сообщений: 16
13.02.2015, 17:39  [ТС]
Цитата Сообщение от Убежденный Посмотреть сообщение
Обернуть доступ к памяти в SEH-обработчик (__try/__except).
Вы не могли бы рассказать о нём подробней или поделиться ссылкой на пример?
0
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
13.02.2015, 19:13
Лучший ответ Сообщение было отмечено ArlekinLaMort как решение

Решение

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <Windows.h>
 
int main()
{
    __try
    {
        int * p = NULL; // Pointer to non-accessible memory.
        *p = 123;
    }
 
    __except (EXCEPTION_EXECUTE_HANDLER)
    {
        printf(
            "Exception (code = 0x%.8lx) !\r\n",
            GetExceptionCode()
            );
    }
 
    return 0;
}
> Exception (code = 0xc0000005) !
1
DU
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
13.02.2015, 20:26
подробнее по крайней мере в такой книжке точно написано:
Дж. Рихтер. Windows для профессионалов. Создание эффективных WIN32-приложений с учетом специфики 64-разрядной версии Windows. Изд-ва: Питер, Русская Редакция, 2001 г., 752 стр. ISBN 5-272-00384-5, 1-57231-996-8
http://static2.ozone.ru/multim... 485268.jpg
25 глава
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.02.2015, 20:26
Помогаю со студенческими работами здесь

Как удалить несуществующую систему из списка загрузки
Как удалить не существующую винду из списка загрузки в Windows 10 ?

Соединение с базой на Jscript (как обработать несуществующую connetion string)?
Привет, Релиб! Возможно, задавать вопрос надо было в другой раздел. Но так как я использую именно Jscript при работе, то поэтому...

Браузер воспроизводит несуществующую ссылку
Браузер Хром Версия 49.0.2623.112 m показывает наличие в тексте ссылки (скриншот), при клике на которую оказываешься на сайте...

Народ идёт на несуществующую страницу!
3 недельки назад создал свой первый сайт. Сайт не большой, простенький. Хоть опыта никакого, но не ожидал, что проблемы появятся так скоро....

Как прочесть содержимое?
Есть один файл,я не могу его выложить,мне права не позволяют,так вот он формата .dat из архива .jar одной игрушки для телефонов.Его...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru