Как найти значение в памяти другого процесса?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Fedorfx
Постоялец
Постоялец
 
Сообщения: 371
Зарегистрирован: 10.10.2002 (Чт) 0:14

Как найти значение в памяти другого процесса?

Сообщение Fedorfx » 17.02.2005 (Чт) 2:51

Собственно как использовать Read Memory понятно.
Вопрос в том какие адреса читать. Не все же 4 гига?
Надо определить только ту область, которую занимает прога а остальное не читать.
Как это реализовать?

Fedorfx
Постоялец
Постоялец
 
Сообщения: 371
Зарегистрирован: 10.10.2002 (Чт) 0:14

Сообщение Fedorfx » 17.02.2005 (Чт) 13:10

хм тишина.
Значит неправильно обьяснил вопрос.
Мне нужно найти в памяти другого процесса строку

ну не делать же for i=0 to FFFFFFFF
прога то занимает меньше места. а нафига перелапачивать всю память?
Вот и вопрос, как искать только в сегменте данных или кода именно проги а не там всяких Dll и других не нужных процессах.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 17.02.2005 (Чт) 13:18

Хм...
Честно говоря, никогда этим не заморачивался...

С помощь CreateToolhelp32Snapshot получаем инфу о процессе. Получаем все хэндлы к его кучам, перечисляем их через Heap32First и Heap32Next. Не знаю, будет ли этого достаточно и включается ли туда сама область загрузки... По идее нет?.. Тогда из того же CreateToolhelp32Snapshot узнаём HINSTANCE, смотрим (через ReadProcessMemory, поскольку это HINSTANCE чужого АП), где в заголовке PE стоит место загрузки секций данных и кода (там будет RVA; и нужно будет прибавить эти RVA к HINSTANCE для получения адреса загрузки), и опять RPM уже там...


Вот... :roll:
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 17.02.2005 (Чт) 21:18

А может, посмотреть как это сделано у Оловянникова?
http://www.freevbcode.com/ShowCode.Asp?ID=4115
Изображение

Fedorfx
Постоялец
Постоялец
 
Сообщения: 371
Зарегистрирован: 10.10.2002 (Чт) 0:14

Сообщение Fedorfx » 17.02.2005 (Чт) 22:33

То что доктор прописал.
Спасибо.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: SemrushBot и гости: 54

    TopList