Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++
Войти
Регистрация
Восстановить пароль
 
konstant
0 / 0 / 0
Регистрация: 22.10.2012
Сообщений: 18
#1

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

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

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

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

Сбор и анализ данных в оперативной памяти
Подскажите пожалуйста, какие вы знаете способы сбора данных из оперативной...

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

Снимок с веб-камеры
нашел такой пример, который выводит на окно видео в режиме онлайн с вэб камеры ...

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

8
taras atavin
4204 / 1763 / 212
Регистрация: 24.11.2009
Сообщений: 27,565
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
4204 / 1763 / 212
Регистрация: 24.11.2009
Сообщений: 27,565
23.12.2014, 08:39 #4
Ну я немножко не умею с высокого уровня работать с сегментным адресом. Может там и на высоком уровне есть какие особенности, отличающие его от плоского адреса? Для z80 могу написать, у него даже под DOS плоский адес, но скомпилировать будет проблематично. Разве что кроскомпилятор найдёте, иначе чёрта с два. А на windows, тем более на LINUX можно снять только память одного процесса и сделать это может только сам процесс. А снимок физической оперативы не получится, так как адресное пространство виртуально и от себе подобных изолировано. И язык здесь не при чём, это ограничение системы.
0
CheshireCat
Эксперт С++
2907 / 1256 / 114
Регистрация: 27.05.2008
Сообщений: 3,451
23.12.2014, 12:45 #5
Цитата Сообщение от taras atavin Посмотреть сообщение
А на windows, тем более на LINUX можно снять только память одного процесса и сделать это может только сам процесс.
Ну, насчет Линуха утверждать не буду. Однако насчет Вин мэтр Джеффри Рихтер с тобою не согласен

ПыСы: под Досом оно делается с помощью MK_FP(seg, ofs) - make far pointer.
0
taras atavin
4204 / 1763 / 212
Регистрация: 24.11.2009
Сообщений: 27,565
23.12.2014, 12:58 #6
Цитата Сообщение от CheshireCat Посмотреть сообщение
Ну, насчет Линуха утверждать не буду. Однако насчет Вин мэтр Джеффри Рихтер с тобою не согласен
Это какой нибудь автор трояна? Сколько проживёт найденная им уязвимость?
0
Убежденный
Ушел с форума
Эксперт С++
15941 / 7252 / 1176
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
23.12.2014, 13:08 #7
konstant, если нужно под Windows, то максимум, чего можно
достичь из обычного приложения - прочесть память процесса, своего или
чужого (при условии, что есть нужные права). Прямого доступа к оперативной
памяти у пользовательских приложений нет, а такие программы, как
RAMMap Руссиновича (Sysinternals) для таких целей используют драйверы.
1
Kastaneda
Jesus loves me
Эксперт С++
4759 / 2962 / 340
Регистрация: 12.12.2009
Сообщений: 7,520
Записей в блоге: 2
Завершенные тесты: 1
23.12.2014, 14:39 #8
Убежденный, интересно этот RAMMap в real mode переключается или таблицы, используемые при paging'е, подменяет? Как он всю память обходит?
0
Убежденный
Ушел с форума
Эксперт С++
15941 / 7252 / 1176
Регистрация: 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
Привет! Вот еще темы с решениями:

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

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

Снимок оперативной памяти
Помогите пожалуйста найти нужный софт для моей проблемы. Стоит Win8 x64 Pro /...

Использование оперативной памяти (вылетают игры из-за нехватки памяти)
Перезагружаю комп, играю часа 3-4 и вся память пропадает куда-то в результате...


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

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

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