|
2 / 2 / 1
Регистрация: 24.05.2012
Сообщений: 90
|
||||||
Можно ли разместить переменную в нужную ячейку памяти и реально ли хранить данные, разбросанными по памяти?20.04.2014, 18:05. Показов 1258. Ответов 7
Метки нет (Все метки)
Добрый день. Не могу найти информацию по двум вопросам :
1) могу ли я разместить переменную в нужную ячейку памяти. Например:
p.s. Я прекрасно понимаю, что в памяти хранится не только мои переменные, но и важные данные для работы операционной системы и скорее всего стоит защита от таких вот "хацкеров" как я, что бы они не угробили систему. Но все же реально ли это (опять же знаю, что все реально, но может кто знает способ. Может в какой то ОС есть такой доступ).
0
|
||||||
| 20.04.2014, 18:05 | |
|
Ответы с готовыми решениями:
7
Хранить данные в оперативной памяти
Первый килобайт памяти обнулить. Записать в 3,8,10,12 ячейку памяти значение 64h |
|
79 / 79 / 8
Регистрация: 14.10.2009
Сообщений: 121
|
|
| 20.04.2014, 19:26 | |
|
1) Это сложный вопрос.
Во первых нужно понимать, что в Windows используется механизм виртуальной памяти. Таким образом, когда ты сохраняешь данные по определенному адресу, ОС сохраняет их в реальной памяти по другому(реальному адресу) или на диске. Второй момент состоит в том, что процесс(программа) может читать и записывать только в память, выделенную ОС специально для нее. Тут конечно есть куча обходных моментов. Самый простой - использование функций WriteProcessMemory(), которая позволяет писать в память чужой программы. 2) Да, конечно. Правда и собирать это число придется так-же по кусочкам ^_^
1
|
|
|
2 / 2 / 1
Регистрация: 24.05.2012
Сообщений: 90
|
|
| 20.04.2014, 19:30 [ТС] | |
|
2) ну я так понимаю, что это будет возможно только в том случае если найдем решение на первый вопрос?
1) а есть информация как с этим дела в Linux или Os X ?
0
|
|
|
57 / 18 / 1
Регистрация: 14.05.2012
Сообщений: 134
|
|
| 20.04.2014, 19:39 | |
|
Jariel, ассемблер тебе в помощь =)
0
|
|
|
79 / 79 / 8
Регистрация: 14.10.2009
Сообщений: 121
|
|||
| 20.04.2014, 19:47 | |||
Но не думаю, что этот вариант для вас. Механизм виртуальной памяти решает 2 проблемы: 1) Позволяет использовать механизм своппинга. Это было очень актуально несколько лет назад. 2) Ограничивает доступ к не своей памяти. Это очень важно. Иначе бы программы портили бы память друг друга и ничего бы не работало. Просто скажите какую проблему вы решаете? часто, можно найти более простое решение.
1
|
|||
|
2 / 2 / 1
Регистрация: 24.05.2012
Сообщений: 90
|
|
| 20.04.2014, 19:57 [ТС] | |
|
Никакой не решаю. я всю учебную жизнь писал на C#, а тут приехал на семестр в Китай и кроме Си и С++ ничего нет. Вот начал изучать. Работаем с микроконтроллерами и для их работы очень полезно понимать как работает память. Думаю как раз в контроллерах более прямой доступ к памяти. Но я вот изучаю и мне стало интересно, мог ли я сам решать куда писать. Вы мне достаточно подробно объяснили ситуацию. Спасибо за это
0
|
|
|
Каратель
|
|||||||
| 21.04.2014, 00:50 | |||||||
0
|
|||||||
|
Модератор
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,868
|
||||||||
| 21.04.2014, 01:05 | ||||||||
|
для начала ты не шестнадцатеричное число написал а метку а вот так можешь
ктати вполне штатная ситуация во времена ДОС или при работе с микроконтроллерами или програмирование на низком уровне,например БИОС пишешь, когда имеешь доступ ко всей памяти а на современных ОС скорее всего выскочит исключение "неправомерный доступ" Добавлено через 54 секунды мир состоит не только из Виндос и Линукс ![]() Добавлено через 3 минуты добавлю можешь и на виндос если будешь писать прогу для работы в 0 кольце, но ответственность за крах системы берешь на себя
1
|
||||||||
| 21.04.2014, 01:05 | |
|
Помогаю со студенческими работами здесь
8
Cколько элементов типа int можно хранить в локальной памяти?
Какое минимальное число можно записать в 6 разрядную ячейку памяти Можно ли создать компонент который будет хранить один в памяти для многих виртуальных серверов? Какое количество адресов содержатся в памяти компьютера, как выделяется разное количество памяти под переменную? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2).
Унарный минус обозначается как !
в-строка - входное арифметическое выражение в инфиксной(обычной). . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|