![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Работа с памятю [D5, D6, Win95/98, WinME, NT4, Win2k, WinXP]
Artur © (2005-02-10 15:33:00)Hello~! Как мне сохранить область памяти, занимаемой моей программой, файл? Как узнать начальный адресс памяти, конечный (прграммы), и есть ли функцыи для чтения памяти? И можно ли проделать ето с иной программой висящей в памяти?
Kerk (2005-02-11 07:56:00) [1]Anton_K © (10.02.05 20:25) [12]
Функция GetModuleHandle возвращает адрес, по которому загружена прога.
давай уж будем точны до конца и скажем, что она возвращает адрес, по которому загружен модуль :)
Игорь Шевченко (2005-02-11 01:25:00) [2]-=SS=- © (10.02.05 20:22) [11]
> Вообще начальный адресс памяти для всех процессов одинаковый --> $400000
Нет. Начальный адрес памяти равен нулю.
Eraser (2005-02-10 21:05:00) [3]Почитайте где-нибудь "Как устроена ОС Windows NT".
Eraser (2005-02-10 21:04:00) [4]-=SS=- ©
Вообще начальный адресс памяти для всех процессов одинаковый -- $400000 помоему или что то в этом роде
Во-первых,это виртуальный адрес программы пользовательского режима.
Во-вторых, тебя не смущает цифра $400000, а заканчивается программа может на $800000. И в какой-такой файл ты собрался её сохранять ;-))
Fay (2005-02-10 20:37:00) [5]Я бы даже сказал EnumProcessModules/GetModuleInformation, но
Windows 95/98/Me: Unsupported.
Anton_K (2005-02-10 20:25:00) [6]Вообще начальный адресс памяти для всех процессов одинаковый -- $400000 помоему или что то в этом роде
Не всегда, но чаще всего. Функция GetModuleHandle возвращает адрес, по которому загружена прога.
-=SS=- (2005-02-10 20:22:00) [7]Вообще начальный адресс памяти для всех процессов одинаковый -- $400000 помоему или что то в этом роде
Kerk (2005-02-10 19:55:00) [8]Artur (10.02.05 17:12) [5]
Тогда зачем етот форум?
в любом случае не для дублирования учебников и справки.
Fay (2005-02-10 19:52:00) [9]2 Artur (10.02.05 17:12) [5]
Это оскорбление?
Или ты сам не уверен, что родился умным? Это означало бы, что ты допускаешь, что родился дураком. Странная позиция.
beatles_bntu (2005-02-10 19:41:00) [10]Если вдруг те это надо под дос могу готовую прогу скинуть(исходник), а под винду, ну те выше написали там вроде всё ясно
Mac (2005-02-10 17:40:00) [11]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
); - Читаеш память.
Как узнать нужный адрес и скоко читать пока не знаю.
Anatoly Podgoretsky (2005-02-10 17:24:00) [12]Artur (10.02.05 17:12) [5]
Он возможно, а ты, ну ладно это далекое прошлое, но кто мешает сейчас задать понятный, конкретный вопрос.
Как мне сохранить область памяти, занимаемой моей программойлюбыми методами записи, если тебя пустят ко всерй памяти
Как узнать начальный адресс памяти, с дельфи идет инструментарий для получения карты памяти, используй его
И можно ли проделать ето с иной программой висящей в памяти?аналогично пункту 1 особенно оговорки насчет пустит.
Artur (2005-02-10 17:12:00) [13]Digitman © (10.02.05 17:05) [4]
Тогда зачем етот форум? Или ты считаешь, что родился умным?
Digitman (2005-02-10 17:05:00) [14]
> Artur (10.02.05 16:58) [3]
не ведомо.
раз "не ведомо", то и разговор сведется к тоиу же
Artur (2005-02-10 16:58:00) [15]>>Digitman © (10.02.05 16:13) [2]
#>для тебя память есть ничто иное как хреновина, вставляемая в хреновину на "материнской плате"
>>если ето было бы так, то я бы собирал компы и никогда не посищал етот форум, но да, многое мне не ведомо.
#>память памяти - рознь ..
>>Обьясни, о чём ты?
Digitman (2005-02-10 16:13:00) [16]
> злосная
КАКОЙ памяти, "злосный" ты наш ?)
память памяти - рознь ..
или для тебя память есть ничто иное как хреновина, вставляемая в хреновину на "материнской плате" ?
это тебе не ДОС !)
Artur (2005-02-10 15:54:00) [17]>> сохранить область памяти, занимаемой моей программой, файл?
Извените, здесь злосная опечатка :( Ето должно быть так:
сохранить область памяти, занимаемой моей программой, в файл?