Вниз
Скачать: CL | DM;

Процесс в памяти   Найти похожие ветки 

← →
Samowar ©   (2004-09-16 03:56) [0]

Доброго времени суток!!!
Как узнать адрес начала размещения процесса в памяти уже запущенной программы и заиметь доступ для её редактирования?


← →
Digitman ©   (2004-09-16 08:10) [1]


> адрес начала размещения процесса в памяти уже запущенной
> программы


это нонсенс


← →
Erik1 ©   (2004-09-16 10:15) [2]

Может базовый адрес по которому загружена программа?


← →
Samowar ©   (2004-09-16 11:13) [3]

Адрес байта в оперативной памяти персонального компьютера, с которого начинается запущенная ранее программа (к примеру игрушка какаянибудь).
З.Ы.
 Давайте только не будем до слов придераться, вы всё прекрасно понимаете что мне надо.
З.З.Ы
 Заранее огромный сэнкс :)


← →
Суслик ©   (2004-09-16 11:27) [4]

Как узнать baseaddress я не знаю, а редактировать адресное пространство другого процесса можно используя функции

virtualallocex
openprocess
writeprocessmemory

Как этими функциями пользоваться хорошо описано в книге Рихтера "Windows для профессионалов".


← →
Digitman ©   (2004-09-16 12:08) [5]


> Samowar ©   (16.09.04 11:13) [3]
> Адрес байта в оперативной памяти персонального компьютера,
> с которого начинается запущенная ранее программа


Win32-процесс не взаимодействует напрямую с оперативной памятью

В распоряжении процесса всегда имеется 4гб виртуальной (а не физической) памяти, и речь надо вести именно о виртуальном адресном пространстве (ВАП) процесса

для работы с ВАП "чужого" процесса в Win32 имеются ф-ции

OpenProcess
VirtualQueryEx
VirtualAllocEx
ReadProcessMemory
WriteProcessMemory

и множество других


← →
Игорь Шевченко ©   (2004-09-16 12:53) [6]


>  Давайте только не будем до слов придераться, вы всё прекрасно
> понимаете что мне надо.


Не понимаем


← →
VMcL ©   (2004-09-16 13:46) [7]

>>Samowar ©  (16.09.04 11:13) [3]

>Давайте только не будем до слов придераться, вы всё прекрасно понимаете что мне надо.

Сайт называется, вроде, "Мастера Delphi", а не "Телепаты Delphi"...


← →
Samowar ©   (2004-09-17 03:43) [8]

Вы опять меня недопоняли
> В распоряжении процесса всегда имеется 4гб виртуальной (а не
> физической) памяти, и речь надо вести именно о виртуальном
> адресном пространстве (ВАП) процесса
Вот именно адрес в физической памяти мне и надо, а не в виртуальной. Доступ к ячейкам оперативной памяти ПК, я об этом.


← →
Digitman ©   (2004-09-17 08:11) [9]


> именно адрес в физической памяти мне и надо, а не в виртуальной.
> Доступ к ячейкам оперативной памяти ПК


вот когда ты у себя в приложении пишешь

var
i: Integer;
..
i := 1;

какой памяти ты непосредственно обращаешься ?


← →
Игорь Шевченко ©   (2004-09-17 09:59) [10]


> Вот именно адрес в физической памяти мне и надо, а не в
> виртуальной. Доступ к ячейкам оперативной памяти ПК, я об
> этом.


А...нафига, можно узнать ?


← →
Samowar ©   (2004-09-17 11:36) [11]

Может хватит надо мной издеваться. Если не знаете, лучше не пишите тут всякую фигню.
> А...нафига, можно узнать ?
Вы сначала на мой вопрос ответ дайте.


← →
Игорь Шевченко ©   (2004-09-17 11:45) [12]


> Может хватит надо мной издеваться. Если не знаете, лучше
> не пишите тут всякую фигню.


http://ln.com.ua/~openxs/articles/smart-questions-ru.html

Учить наизусть


← →
VMcL ©   (2004-09-17 11:52) [13]

>>Samowar ©  (17.09.04 11:36) [11]

>Вы сначала на мой вопрос ответ дайте.

Не удержусь и напишу народную мудрость: "Жена будет давать".
Учить матчасть.


← →
Digitman ©   (2004-09-17 12:56) [14]


> Samowar ©   (17.09.04 11:36) [11]
> Если не знаете, лучше не пишите тут всякую фигню.


чудо, а вот ты не "фигню" тут пишешь-требуешь ?

оперативной памятью заведует ядро многозадачной ОС, под управлением которой работает твое приложение.. и ОС по своему усмотрению может в любой момент времени выгрузить любой фрагмент кода/данных твоей программы из опер.памяти и отдать "освобожденную" память другому приложению ... а в некий момент времени загрузить этот фрагмент кода/данных в совершенно иной участок опер.памяти с совершенно иным физ.диапазоном адресов ... приложение же знать ничего не знает об этом, оно как обращалось, например, по адресу $410000 (виртуальному адресу некоей переменной !), так и продолжает по нему обращаться, ВНЕ какой-либо зависимости от того, на какой участок физической памяти в каждый момент времени отображен соотв.участок вирт.памяти !

ты про страничную организацию вирт.памяти и механизм "подкачки" слышал хоть что-нибудь ?


← →
pasha_golub ©   (2004-09-17 13:01) [15]

Товрищ Samowar ©, раскрывайте карты. На кой оно нужно, ибо чует моя ..., что не туды подкоп ведете.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.023 c
10-1046441534
JibSkeart
2003-02-28 17:12
2004.10.17
COM ATL + Events ?


1-1096449315
Pentium133
2004-09-29 13:15
2004.10.17
Не совсем обычный TTreeView


1-1096645797
Homa_Programer
2004-10-01 19:49
2004.10.17
Memo vs RichEdit


1-1096705174
ninja
2004-10-02 12:19
2004.10.17
AnsiString


1-1096885823
Skywalker
2004-10-04 14:30
2004.10.17
Как обойти "Circular unit reference"?




   Наверх