Сейчас на форуме: hgdagon (+5 невидимых)

 eXeL@B —› Программирование —› Распределение памяти в процессе выполнения программы
Посл.ответ Сообщение


Ранг: 756.3 (! !), 113thx
Активность: 0.610.05
Статус: Участник
Student

Создано: 04 августа 2007 12:43
· Личное сообщение · #1

"Чужая" программа в процессе своей работы выделяет кусок динамической памяти. Как узнать по какому адресу он выделился?
Известны строковые констнты из этого блока и его размер.
Можно поиском по памяти найти строку, но не по всей же памяти сканить...
Как можно получить адреса и размеры всех блоков памяти, относящихся к процессу?

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh




Ранг: 38.2 (посетитель)
Активность: 0.020
Статус: Участник

Создано: 04 августа 2007 13:44
· Личное сообщение · #2

А почему бы и не посканить все через 1 страницу при помощи IsBadReadPtr. Не так уж много времени уйдет. А если не в адресном пространстве процесса, то не заню как. Надо посмотреть примеры из Мэта Питерека, там что-то было.



Ранг: 162.2 (ветеран)
Активность: 0.090
Статус: Участник

Создано: 04 августа 2007 14:15
· Личное сообщение · #3

Isaev
смотри у Рихтера. Там был пример, как получить карту памяти процесса.




Ранг: 756.3 (! !), 113thx
Активность: 0.610.05
Статус: Участник
Student

Создано: 04 августа 2007 17:40
· Личное сообщение · #4

asd пишет:
смотри у Рихтера

тут: "Рихтер Дж. Windows для профессионалов. Создание эффективных Win32-пpилoжeний с учётом специфики 64-разрядной версии Windows"?

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh




Ранг: 162.2 (ветеран)
Активность: 0.090
Статус: Участник

Создано: 04 августа 2007 18:57
· Личное сообщение · #5

да



Ранг: 162.4 (ветеран), 11thx
Активность: 0.060
Статус: Участник

Создано: 06 августа 2007 11:56
· Личное сообщение · #6

Там всего одна функция нужна VirtualQueryEx
Ищи её описание (там все просто)



Ранг: 2.3 (гость)
Активность: 0=0
Статус: Участник

Создано: 06 августа 2007 13:00
· Личное сообщение · #7

Ну есть еще и HeapCreate/HeapAlloc, тогда придеться добывать карту кучи. Хотя надо копаться в этом. Я лично не работал с внутренним устройством кучи.


 eXeL@B —› Программирование —› Распределение памяти в процессе выполнения программы
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати