Форум программистов, компьютерный форум, киберфорум
Наши страницы

C++

Войти
Регистрация
Восстановить пароль
 
konstant
0 / 0 / 0
Регистрация: 22.10.2012
Сообщений: 18
#1

Снимок оперативной памяти - C++

23.12.2014, 07:32. Просмотров 802. Ответов 8
Метки нет (Все метки)

Возможно ли на си++ написать консольную программу, которая бы делала снимок ОП, как это делает Snapshot RAM (без интерфейса)?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.12.2014, 07:32
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Снимок оперативной памяти (C++):

Данные из оперативной памяти - C++
Подскажите пожалуйста, как нам перехватить данные любого приложения, которые "уходят" в оперативную память. То есть нам надо поймать их до...

Запустить файл в оперативной памяти - C++
Вобщем озадачили нас на военной кафедре вот как: сказали раз уж мы специалисты по инф. безопасности, то практическая работа, которую мы...

Сбор и анализ данных в оперативной памяти - C++
Подскажите пожалуйста, какие вы знаете способы сбора данных из оперативной памяти(абсолютно любые способы) и соответственно что нить об...

Как сделать так, чтобы две разные программы могли работать с одной и той же областью оперативной памяти? - C++
Собственно даже незнаю куда копать. Пробовал в одной программе вывести указатель на массив, а в другой указателю присвоить это значение...

Снимок с веб-камеры - C++
нашел такой пример, который выводит на окно видео в режиме онлайн с вэб камеры http://pastebin.com/c9LCaLRT (из за ограничения...

Работа с оперативной памятью - C++
Доброго дня. Есть интересная задача. Планируется создание чего-то типа сканера оперативной памяти. Необходимо сделать его работающим из под...

8
taras atavin
3570 / 1754 / 91
Регистрация: 24.11.2009
Сообщений: 27,567
23.12.2014, 07:34 #2
Конечно можно, язык вполне универсален. Вот только даст ли система обозреть память? В многозадачных системах она разделена на изолированные адресные пространства, ни одно приложение не имеет доступа вне своего адресного пространства. Или надо для DOS?
0
konstant
0 / 0 / 0
Регистрация: 22.10.2012
Сообщений: 18
23.12.2014, 08:10  [ТС] #3
В принципе можно и для DOS....вы знаете как это сделать?
0
taras atavin
3570 / 1754 / 91
Регистрация: 24.11.2009
Сообщений: 27,567
23.12.2014, 08:39 #4
Ну я немножко не умею с высокого уровня работать с сегментным адресом. Может там и на высоком уровне есть какие особенности, отличающие его от плоского адреса? Для z80 могу написать, у него даже под DOS плоский адес, но скомпилировать будет проблематично. Разве что кроскомпилятор найдёте, иначе чёрта с два. А на windows, тем более на LINUX можно снять только память одного процесса и сделать это может только сам процесс. А снимок физической оперативы не получится, так как адресное пространство виртуально и от себе подобных изолировано. И язык здесь не при чём, это ограничение системы.
0
CheshireCat
Эксперт С++
2896 / 1245 / 78
Регистрация: 27.05.2008
Сообщений: 3,405
23.12.2014, 12:45 #5
Цитата Сообщение от taras atavin Посмотреть сообщение
А на windows, тем более на LINUX можно снять только память одного процесса и сделать это может только сам процесс.
Ну, насчет Линуха утверждать не буду. Однако насчет Вин мэтр Джеффри Рихтер с тобою не согласен

ПыСы: под Досом оно делается с помощью MK_FP(seg, ofs) - make far pointer.
0
taras atavin
3570 / 1754 / 91
Регистрация: 24.11.2009
Сообщений: 27,567
23.12.2014, 12:58 #6
Цитата Сообщение от CheshireCat Посмотреть сообщение
Ну, насчет Линуха утверждать не буду. Однако насчет Вин мэтр Джеффри Рихтер с тобою не согласен
Это какой нибудь автор трояна? Сколько проживёт найденная им уязвимость?
0
Убежденный
Ушел с форума
Эксперт С++
15708 / 7218 / 1139
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
23.12.2014, 13:08 #7
konstant, если нужно под Windows, то максимум, чего можно
достичь из обычного приложения - прочесть память процесса, своего или
чужого (при условии, что есть нужные права). Прямого доступа к оперативной
памяти у пользовательских приложений нет, а такие программы, как
RAMMap Руссиновича (Sysinternals) для таких целей используют драйверы.
1
Kastaneda
Jesus loves me
Эксперт С++
4697 / 2901 / 238
Регистрация: 12.12.2009
Сообщений: 7,385
Записей в блоге: 2
Завершенные тесты: 1
23.12.2014, 14:39 #8
Убежденный, интересно этот RAMMap в real mode переключается или таблицы, используемые при paging'е, подменяет? Как он всю память обходит?
0
Убежденный
Ушел с форума
Эксперт С++
15708 / 7218 / 1139
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
23.12.2014, 18:15 #9
Я не смотрел, но уверен, что точно не real mode, а, например, вот так:

MmMapIoSpace routine
http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx
MmMapIoSpace returns the base virtual address that maps the base physical address for the range.
2
23.12.2014, 18:15
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.12.2014, 18:15
Привет! Вот еще темы с ответами:

Как получить снимок памяти процесса? - C++ Builder
Дело обстоит так - мне необходимо найти определенную последовательность данных в чужом процессе, причем положение этих данных все время...

Остаток оперативной памяти - C++ Builder
Добрый день! Подскажите, есть ли способ программно определить сколько осталось свободной оперативной памяти?

Chart'у не хватает оперативной памяти - C++ Builder
Всем привет. Писал программу в C++ Builder 6 для графического отображения информации в Chart считанной из двоичного файла. Из-за огромного...

Снимок оперативной памяти - Windows 8, 8.1
Помогите пожалуйста найти нужный софт для моей проблемы. Стоит Win8 x64 Pro / 16Gb Ram / Core i7 2600 Дело в том, что часто вылетает...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

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