Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.03.20;
Скачать: CL | DM;

Вниз

Работа с памятю   Найти похожие ветки 

 
Artur   (2005-02-10 15:33) [0]

Hello~! Как мне сохранить область памяти, занимаемой моей программой, файл? Как узнать начальный адресс памяти, конечный (прграммы), и есть ли функцыи для чтения памяти? И можно ли проделать ето с иной программой висящей в памяти?


 
Artur   (2005-02-10 15:54) [1]

>> сохранить область памяти, занимаемой моей программой, файл?
Извените, здесь злосная опечатка :( Ето должно быть так:

сохранить область памяти, занимаемой моей программой, в файл?


 
Digitman ©   (2005-02-10 16:13) [2]


> злосная


КАКОЙ памяти, "злосный" ты наш ?)

память памяти - рознь ..

или для тебя память есть ничто иное как хреновина, вставляемая в хреновину на "материнской плате" ?

это тебе не ДОС !)


 
Artur   (2005-02-10 16:58) [3]

>>Digitman ©   (10.02.05 16:13) [2]
#>для тебя память есть ничто иное как хреновина, вставляемая в хреновину на "материнской плате"
>>если ето было бы так, то я бы собирал компы и никогда не посищал етот форум, но да, многое мне не ведомо.

#>память памяти - рознь ..
>>Обьясни, о чём ты?


 
Digitman ©   (2005-02-10 17:05) [4]


> Artur   (10.02.05 16:58) [3]
не ведомо.


раз "не ведомо", то и разговор сведется к тоиу же


 
Artur   (2005-02-10 17:12) [5]

Digitman ©   (10.02.05 17:05) [4]
Тогда зачем етот форум? Или ты считаешь, что родился умным?


 
Anatoly Podgoretsky ©   (2005-02-10 17:24) [6]

Artur   (10.02.05 17:12) [5]
Он возможно, а ты, ну ладно это далекое прошлое, но кто мешает сейчас задать понятный, конкретный вопрос.

Как мне сохранить область памяти, занимаемой моей программой любыми методами записи, если тебя пустят ко всерй памяти

Как узнать начальный адресс памяти, с дельфи идет инструментарий для получения карты памяти, используй его

И можно ли проделать ето с иной программой висящей в памяти? аналогично пункту 1 особенно оговорки насчет пустит.


 
Mac ©   (2005-02-10 17:40) [7]

DWORD GetCurrentProcessId(VOID) - Выдаст ID процеса.

HANDLE OpenProcess(
   DWORD dwDesiredAccess, // access flag
   BOOL bInheritHandle, // handle inheritance flag
   DWORD dwProcessId  // process identifier
); - выдаст хендл процеса.

BOOL ReadProcessMemory(
   HANDLE hProcess, // handle of the process whose memory is read  
   LPCVOID lpBaseAddress, // address to start reading
   LPVOID lpBuffer, // address of buffer to place read data
   DWORD nSize, // number of bytes to read
   LPDWORD lpNumberOfBytesRead  // address of number of bytes read
); - Читаеш память.

Как узнать нужный адрес и скоко читать пока не знаю.


 
beatles_bntu ©   (2005-02-10 19:41) [8]

Если вдруг те это надо под дос могу готовую прогу скинуть(исходник), а под винду, ну те выше написали там вроде всё ясно


 
Fay ©   (2005-02-10 19:52) [9]

2 Artur   (10.02.05 17:12) [5]
Это оскорбление?
Или ты сам не уверен, что родился умным? Это означало бы, что ты допускаешь, что родился дураком. Странная позиция.


 
Kerk ©   (2005-02-10 19:55) [10]

Artur   (10.02.05 17:12) [5]
Тогда зачем етот форум?


в любом случае не для дублирования учебников и справки.


 
-=SS=- ©   (2005-02-10 20:22) [11]

Вообще начальный адресс памяти для всех процессов одинаковый -- $400000 помоему или что то в этом роде


 
Anton_K ©   (2005-02-10 20:25) [12]

Вообще начальный адресс памяти для всех процессов одинаковый -- $400000 помоему или что то в этом роде

Не всегда, но чаще всего. Функция GetModuleHandle возвращает адрес, по которому загружена прога.


 
Fay ©   (2005-02-10 20:37) [13]

Я бы даже сказал EnumProcessModules/GetModuleInformation, но
Windows 95/98/Me: Unsupported.


 
Eraser ©   (2005-02-10 21:04) [14]

-=SS=- ©
Вообще начальный адресс памяти для всех процессов одинаковый -- $400000 помоему или что то в этом роде


Во-первых,это виртуальный адрес программы пользовательского режима.

Во-вторых, тебя не смущает цифра $400000, а заканчивается программа может на  $800000. И в какой-такой файл ты собрался её сохранять ;-))


 
Eraser ©   (2005-02-10 21:05) [15]

Почитайте где-нибудь "Как устроена ОС Windows NT".


 
Игорь Шевченко ©   (2005-02-11 01:25) [16]

-=SS=- ©   (10.02.05 20:22) [11]


> Вообще начальный адресс памяти для всех процессов одинаковый -->  $400000


Нет. Начальный адрес памяти равен нулю.


 
Kerk ©   (2005-02-11 07:56) [17]

Anton_K ©   (10.02.05 20:25) [12]
Функция GetModuleHandle возвращает адрес, по которому загружена прога.


давай уж будем точны до конца и скажем, что она возвращает адрес, по которому загружен модуль :)



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

Текущий архив: 2005.03.20;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.062 c
14-1109604649
AG.Smit
2005-02-28 18:30
2005.03.20
Проблема с мобилой Sony Ericsson T610


9-1103729660
-=SS=-
2004-12-22 18:34
2005.03.20
GlScene Тень


1-1110103716
MU
2005-03-06 13:08
2005.03.20
Вынесение инвариантного кода за пределы цикла


14-1109835563
ISP
2005-03-03 10:39
2005.03.20
Наконец-то админы смогут спать спокойно :)


1-1110143396
LogOnn
2005-03-07 00:09
2005.03.20
Delay();