Форум: "Потрепаться";
Текущий архив: 2003.10.23;
Скачать: [xml.tar.bz2];
ВнизKaк узнать адреса начала и конца процесса в памяти? Найти похожие ветки
← →
BaDeVlad (2003-10-01 18:04) [0]Есть процесс в памяти, нужно узнать адрес его начала и конца (или адрес области данных). Неужели никто не знает?
← →
Игорь Шевченко (2003-10-01 19:10) [1]Я знаю - адрес его начала равен $00010000. адрес его конца равен $7FFEFFFF, остальная область его недоступна.
← →
Digitman (2003-10-02 08:44) [2]
> адрес области данных
что есть "область данных процесса" ?
← →
younghacker (2003-10-02 09:58) [3]BaDeVlad!
Действительно, задавайте конкретно вопросы...
Какой конец какое начало?
В какой памяти: RAM, виртуальной или в свап файле?
В какой, в конце концов, операционке?
Ну и для чего это узнавать? И кто это должен знать?
Внешний процесс или сам тот который хочет узнать свой адрес?
← →
BaDeVlad (2003-10-02 12:48) [4]Поясняю подробнее:
1. операционка - смотри в заголовке вопроса.
2. процесс - любой выполняющийся в данный момент процесс или приложение. Где-то в операционке он же должен висеть? Вот и нужно узнать адрес памяти где он начинается, и где заканчивается отведенная под код и данные память.
3. кому нужно знать: моему приложению, которое к искомому процессу никакого отношения не имеет, но должно этот процесс курочить по своему усмотрению.
← →
Anatoly Podgoretsky (2003-10-02 12:55) [5]Значит ты предполагаешь, что он сидит в непрерывной области памяти.
← →
Игорь Шевченко (2003-10-02 13:01) [6]BaDeVlad (02.10.03 12:48)
Джеффри Рихтера читай. Он знает
← →
Юрий Зотов (2003-10-02 13:15) [7]> BaDeVlad
Если Вам известно о том, что такое виртуальное адресное пространство, страничная организация памяти и File Mapping, то Вы должны понимать, что задали бессмысленный вопрос.
Если же нет, то прежде чем работать с памятью напрямую, надо бы все же изучить хотя бы перечисленной минимум.
Любой процесс в Win32 расположен по адресам от $00000000 до $FFFFFFFF. Это и есть его начало и конец, о которых Вы спрашивали. Вот и весь ответ, если кратко.
Из этого диапазана адресов часть недоступна (используется самой системой). Какая именно часть - зависит от версии системы. Для линейки NT - см. Игорь Шевченко © (01.10.03 19:10) [1].
"Курочить" чужой процесс Вы можете с помощью функции WriteProcessMemory, но только если он имеет соответствующие атрибуты. И при этом Вашей программе абсолютно безразлично, подгружена ли в данный момент страница с нужным ей адресом в оперативную память физически, или нет.
← →
han_malign (2003-10-02 13:23) [8]VirtualQuery
← →
Digitman (2003-10-02 13:41) [9]опять "игрульку" курочить будем, видать) ... а-ля "жизни" добавить монстру какому-нить иль еще чего)
с завидной регулярностью вопрос возникает-то !)
нет бы по-честному поиграть, так ведь обязательно "по понятиям" надо !) ... чтобы через одно причинное место гланды программе подправить)))))
← →
BaDeVlad (2003-10-02 18:28) [10]То есть вы хотите меня убедить, что экзеха в памяти разбросана кусками, как корова наступившая на мину? И никак нельзя узнать адреса начала и конца кода одного определенного модуля?
Насчет догадок о назначении программы - очень верно подмечено, именно "игрульку курочить". Не виноват программист, что ему такую ерундовину заказывают. И вообще, обидеть программиста может каждый, а помочь...
← →
McSimm (2003-10-02 18:33) [11]Помочь программисту, который не читает ответы на свои вопросы или не вдумывается в прочитанное невозможно.
← →
Юрий Зотов (2003-10-02 20:41) [12]> BaDeVlad (02.10.03 18:28) [10]
> вы хотите меня убедить, что экзеха в памяти разбросана кусками,
Видите ли, в чем дело... экзехи ЦЕЛИКОМ в физической памяти ВООБЩЕ нет. Ни кусками, ни сплошняком. Никак.
Читайте ответы. Вдумчиво. Это не стеб и не приколы. Все, чем Вам можно было действительно и по делу помочь, уже сказано и добавить нечего. Если только не писать здесь чуть ли не книгу.
А еще лучше - читайте Рихтера. Там на эту тему сказано все и подробно.
← →
Anatoly Podgoretsky (2003-10-02 20:47) [13]Digitman © (02.10.03 13:41) [9]
Так надо выпускать игры с кнопкой "Вы выиграли"
← →
Думкин (2003-10-02 22:08) [14]
> [10] BaDeVlad (02.10.03 18:28)
> Насчет догадок о назначении программы - очень верно подмечено,
> именно "игрульку курочить". Не виноват программист, что
> ему такую ерундовину заказывают.
Угу. Ну не виноват слесарь, что ему все время заказывают сейфы курочить.
← →
Игорь Шевченко (2003-10-02 22:14) [15]Думкин © (02.10.03 22:08)
А нефиг было на слесаря учиться, учился бы на программиста, тоже бы игры курочил, вместо сейфов.
← →
Blackman (2003-10-02 22:45) [16]У памяти нет конца! Женский род во первых, а во вторых тайна сия мраком покрыта. Вернее покрыта дырами и заплатами (задачка такая). Абсолютно верного алгоритма ее распределения нет и быть не может, как доказал мой друг Коля Васильев.
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2003.10.23;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.009 c