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

Прочитать память по заданному адресу.

05.11.2009, 21:40. Показов 1854. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Надо написать программу на С в Linux, которая находит в памяти другую программу и читает её содержимое. На ассемблере в DOS я это делал. А как здесь?.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.11.2009, 21:40
Ответы с готовыми решениями:

инструкция по адресу 0x7c91ac4a обратилась к памяти по адресу 0x00000010.Память не может быть written
Помогите разобраться пожалуйста!!!!! С:/rsit info.txt logfile of random's system information tool 1.06 2010-05-27 22:37:54 ...

Инструкция по адресу “0x490e355” обратилась к памяти по адресу “0x065ea847” память не может быть “written”
Здравствуйте, при загрузки картинки в хроме появляется такая ошибка и хром дохнет, также это наблюдается в других браузерах когда нажимаешь...

Ошибка: инструкция по адресу 0x00aeb5e2 обратилась к памяти по адресу 0x00000008.память не может быть read
инструкция по адресу 0x00aeb5e2 обратилась к памяти по адресу 0x00000008.память не может быть read . рамка выскакивает при установке...

3
быдлокодер
 Аватар для kravam
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
06.11.2009, 04:15
Linux не Linux...
Если прога загружена, то перечисляй все процессы в системе, находи нужный. Потом находи его базовый адрес и размер. Потом делай дамп этого участка памяти. Это в винде. В Linux алгоритм, наверное, тот же. А вот конкретнее по Linux ничё сказать не могу...
Про винду могу чё-нить поразмышлять вслух, если заинтересуешься.
0
0 / 0 / 0
Регистрация: 16.10.2009
Сообщений: 10
06.11.2009, 18:06  [ТС]
Спасибо за совет. А какими средствами в винде перечислить процессы и потом найти базовый адрес и размер, а также снять дамп?
0
быдлокодер
 Аватар для kravam
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
06.11.2009, 18:47
Гугли.
Вот для почина тебе как перечислить все процессы в системе
А необходимый ищешь по имени (получаешь PID прцесса)

Потом возможны вариации. Я бы попробовал что попроще:

1) Нашёл полный путь к имени процесса

2) Загрузил этот процесс в память МОЕГО процесса с помощью API-функции :
C++
1
LoadLibrary ("C:\\...ima_modula");
3) Эта функия вернёт адрес в памяти МОЕГО процесса, куда будет загружен нужный процесс (ну, то есть он исполняется в системе сам по себе и ещё один его экземляр просто загружен в память МОЕГО процесса.) Какая часть процесса будет находиться по адресу, возвращённому LoadLibrary?
Заголовок PE-файла

4) Вот анализируй PE-заголовок, набраешь в google "От зелёного к красному", идёшь туда и читаешь ВТОРУЮ часть. Ссылку не даю, ибо там вирусный ресурс, меня забанят. Там бояться не надо, ничё страшного.
В заголовке тебе необходимо найти: адрес, по которому ПРЕДПОЧТИТЕЛЬНО загружается процесс и его размер. Ну, там разберёшься.

5) Этих двух данных хватит, чобы сделать снимок нужного участка памяти необходимого процесса.
Да, ещё хэндл нужено будет. Ну, это ерунда. Находится на раз.
...То есть ситуация такая на данный момент будет: имеешь процесс, снимок которого можешь сделать и имеешь дубликат процесса (этот загружен в твою собственную память)

Хочешь,то дампируй, хочешь, это.
Я бы попробовал дампровать оригинал, конечно же.
Ну, смотря какой сложности процесс. Если он изменяется (патчится) в прроцессе работы и загрузки и тебе адо все эти изменения увидеть, тогда оригинал дампируй, а если он простенький и не патчится, тогда дубликат дампируй.

Хотя таблица импорта патчится или нет независимо от его сложности. Но нужна ли на тебе? Что она из себя предсавляет найдёшь в "От зелёного к красному"

6) Если процесс загрузился не по своему родному адресу, сам думай, чё делать.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.11.2009, 18:47
Помогаю со студенческими работами здесь

Ошибка «Инструкция по адресу 0х0093bd32 обратилась к памяти по адресу 0х00000000.Память не может быть «read»
Недавно установили 2ой Windows на диск D, старый остался на C. На первом Windows программа iTunes работала исправно, на новом,при...

Инструкция по адресу 0х68е61526 обратилась к памяти по адресу 0xcdcdcdbd память не может быть "read"
приобрел джойстик speedlink black widow, установил дрова, а после подключения джойстика к компу не запускаются вообще никакие игры и...

Инструкция по адресу 0x73ce8f18 обратилась к памяти по адресу 0х00000004. Память не может быть "read"
Помогите! Не знаю, что случилось :( мой нетбук перестал включаться. В том месте, где обычно появляется выбор пользователя просто черный...

Инструкция по адресу... обратилась к памяти по адресу... Память не может быть "written"..
Люди, подскажите плиз, что сделать? Неоднократно спрашивалось, но переустанавливать винду не решаюсь...(( При запуске Winamp через...

Инструкция по адресу 0x0114f496 обратилась к памяти по адресу 0x0114f496 память не может быть written
Всем привет скажите уважаемые прогромисты у меня такая проблема при включении пк сеть работает и другие пользователи выходят на мой пк но...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru