Чтение памяти чужего процесса
От: santa239  
Дата: 18.11.07 15:24
Оценка:
Дизасм показал, что в чужем процессе выделяется в хипе 128кб (LocalAlloc) по адресу 0x00A17AD8

При помоще VirtualQueryEx уже из своего поцесса получаю:
BaseAddress:0x00860000 AllocationProtect:PAGE_EXECUTE_READ size:700kb STate:MEM_COMMIT
BaseAddress:0x0090f000 AllocationProtect:PAGE_EXECUTE_READ size:2372kb STate:MEM_RESERVE
(Крайне похоже на heap)


Получается, что адрес 0x00A17AD8 попадает в область MEM_RESERVE, но ведь под MEM_RESERVE не выделяется физическая память?

Как бы мне при помоще ReadProcessMemory считывать данный буффер?
Re: Чтение памяти чужего процесса
От: Аноним  
Дата: 18.11.07 15:58
Оценка:
интересно, как это дизасм мог показать по какому адресу там че выделается?
а если это был все таки дебаг, то кто сказал что в след раз будет такой же адрес выделения?
Re[2]: Чтение памяти чужего процесса
От: santa239  
Дата: 18.11.07 16:47
Оценка:
Здравствуйте, Аноним, Вы писали:

А>интересно, как это дизасм мог показать по какому адресу там че выделается?

А>а если это был все таки дебаг, то кто сказал что в след раз будет такой же адрес выделения?

Да всмысле дебаг
В следующий раз будет другой, но всеравно попадающий в эту область
Re[3]: Чтение памяти чужего процесса
От: santa239  
Дата: 18.11.07 16:53
Оценка:
Вопрос не в том какой адрес, а как из него получить виртуальный адрес, что бы можно было пользоваться ReadProcessMemory
(выделяется в модуле, может это важно)
Re[4]: Чтение памяти чужего процесса
От: Сергей Мухин Россия  
Дата: 18.11.07 21:38
Оценка:
Здравствуйте, santa239, Вы писали:

S>Вопрос не в том какой адрес, а как из него получить виртуальный адрес, что бы можно было пользоваться ReadProcessMemory

S>(выделяется в модуле, может это важно)
кто-то что-то не понимает.
Если у тебя есть адрес в другом процессе, его хандл, права на чтение, то читай! ветер в спину. ф-ия ReadProcessMemory
---
С уважением,
Сергей Мухин
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.