|
7 / 7 / 0
Регистрация: 16.11.2012
Сообщений: 84
|
|||||||||||
RAM, чтение и запись в RAM, Pointer ы24.07.2013, 06:37. Показов 6105. Ответов 10
Метки нет (Все метки)
Так! Начну сразу с проблемы.
![]() Допустим есть приложение "какая-то хрень.exe", а в нем есть переменная допустим "32" с типом integer(int), а проблема заключается в том, что переменная находится каждый раз в разном участке памяти! . Ну ладно, нашел я что такое Pointer - Некий адрес+смещение = нужный адрес! Вроде бы все нишьяГ, но находим снова проблему:поинтер начинается с адреса, который должен найтись по СУПЕРПУПЕРСЛОЖНОЙФОРМУЛЕ: "какая-то хрень.exe+нулевое смещение = некий адрес". И так, кто еще не понял, вопрос заключается в следующем: как определить начальный адрес приложения? Имею ввиду: 0x00000 - начало озу ... - всякие программы 0x001d0 - начало выделенной озу под "какая-то хрень.exe" - То, что нужно узнать. ... 0xFFFFFF ЗЫ:На всякий случай кину сорс: main.cpp:
Не по теме: Да ну.... Ребята, ну ответьте, пожалуйста. Тема уходит в ж*пу ведь.
0
|
|||||||||||
| 24.07.2013, 06:37 | |
|
Ответы с готовыми решениями:
10
I don't understand RAM. What RAM do I get? Lenovo 110-15IBR / WDC WD5000LPCX-24VHAT0 / RAM 2Gb: заменять на SSD или увеличить RAM, или разом это всё? Asus P5PQL-am без RAM пищит, с RAM тоже пищит |
|
106 / 87 / 13
Регистрация: 29.08.2012
Сообщений: 538
|
||
| 24.07.2013, 06:55 | ||
|
вроде как ядро делит память динмически под каждое приложения и те адреса памяти, на которые у вас указывают ваши указатели ВНУТРИ программы на самом деле совсем другие в реальной ОЗУ. и этим занимается ядро. мож ошибаюсь конечно... у интеловских процов вроде даже появилась какая-то технология, которая позволяет без лишних тактов из динамических (замаскированных системой) адресов доставать именно реальные в ОЗУ. но это мое мнения в коем я не совсем уверен.
1
|
||
|
7 / 7 / 0
Регистрация: 16.11.2012
Сообщений: 84
|
|||
| 24.07.2013, 07:39 [ТС] | |||
![]() То есть вот например у приложения есть некий диапазон памяти, допустим от 0x04B2C7B8 до 0x0C0E00E4. Так ведь? Если так, то мне нужно узнать(при помощи С++) 0x04B2C7B8.Если вы мне пытаетесь доказать, что 0x04B2C7B8 будет после перезапуска приложения уже не 0x04B2C7B8, то тут напрасно, ибо я и сам это понимаю. И мне нужно неким чудодейственным методом вычислить это значение, после перезапуска приложения(желательно на С++).
0
|
|||
|
106 / 87 / 13
Регистрация: 29.08.2012
Сообщений: 538
|
||
| 24.07.2013, 07:50 | ||
|
Не буду я с вами спорить ибо сам в этой теме плаваю.
1
|
||
|
7 / 7 / 0
Регистрация: 16.11.2012
Сообщений: 84
|
||
| 24.07.2013, 09:32 [ТС] | ||
![]() Добавлено через 1 час 35 минут
0
|
||
|
106 / 87 / 13
Регистрация: 29.08.2012
Сообщений: 538
|
|||
| 24.07.2013, 09:51 | |||
|
0
|
|||
|
2924 / 1274 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
|
||||||
| 24.07.2013, 10:20 | ||||||
|
Для начала уточни, о какой ОС идет речь?
В Win каждый процесс выполняется в своем собственном отдельном виртуальном адресном пространстве, никак не связанном со страницами физической памяти (точнее, таблица соответствия есть, но управляет ей исключительно ядро операционной системы). Для подавляющего большинства процессов базовый адрес загрузки есть 0x00400000. Узнать его можно очень просто:
2
|
||||||
|
Ушел с форума
|
||
| 24.07.2013, 10:21 | ||
|
Современные ОС давно уже работают с виртуальной памятью, где каждому процессу выделяется свое адресное пространство размером от 4 Гигабайт и выше. "Начальный адрес приложения" - это, грубо говоря, 0x00000000 (для 64-битных систем 0x00000000 00000000), более точно верхнюю и нижнюю границы доступных адресов можно узнать с помощью GetSystemInfo. Если и искать что-то, то в этой памяти, а не в физических адресах ОЗУ, куда, кстати говоря, у пользовательских приложений вообще нет доступа. Короче, открываете нужный процесс (OpenProcess) с правами PROCESS_QUERY_INFORMATION и PROCESS_VM_READ, получаете информацию о доступных страницах памяти (VirtualQueryEx) и читаете их содержимое (ReadProcessMemory). Вот и весь рецепт.
2
|
||
|
106 / 87 / 13
Регистрация: 29.08.2012
Сообщений: 538
|
|
| 24.07.2013, 10:21 | |
|
1
|
|
|
7 / 7 / 0
Регистрация: 16.11.2012
Сообщений: 84
|
|
| 24.07.2013, 11:13 [ТС] | |
|
0
|
|
|
2924 / 1274 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
|
|
| 24.07.2013, 11:17 | |
|
Ткнуть носом можно: сюда - http://msdn.microsoft.com/en-US/
Например, вот первая функция: http://msdn.microsoft.com/en-u... 85%29.aspx
1
|
|
| 24.07.2013, 11:17 | |
|
Помогаю со студенческими работами здесь
11
Перевел ПК в "сон" -> ПК не выходит из "сна" -> не включается, нет POST-BIOS -> вынул RAM, вставил RAM -> все работает Запись данных в RAM RAM 4 GB RAM 2 RAM Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога
SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
|
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога
Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip"
Извлеките архив и вы увидите. . .
|
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога
Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д.
Сборка примера
Скачайте. . .
|
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net
REST сервисы временно не работают, только через Web.
Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
|
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
|
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
|
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма).
На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
|