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

Вниз

Как прочитать память у DLL (ReadProcessMemory):DllName.dll+offset   Найти похожие ветки 

 
Vincent   (2010-02-02 22:25) [0]

Как читать и изменять память у процесса я знаю:

var
 h,HandleWindow,ThreadId,ProcessId : Cardinal;
 buf:dword;
 read:Cardinal;
const
 Address = $.........;
begin
 h := FindWindow(nil,"Заголовок окна");
 if h = 0 then Exit;
 ThreadId := GetWindowThreadProcessId(h,@ProcessId);
 HandleWindow := OpenProcess(PROCESS_ALL_ACCESS,False,ProcessId);
 ReadProcessMemory(HandleWindow,ptr(Address),@result,4,read);
 CloseHandle(HandleWindow);


Вот только интересующее значение находится в области загруженной DLL которую юзает программа. Как прочитать значение в этом случае?

То есть нужно прочитать данные по адресу DllName.dll+offset


 
Сергей М. ©   (2010-02-02 22:36) [1]


> интересующее значение находится в области загруженной DLL
> которую юзает программа


Да по барабану где оно находится)
Выше штанов под названием "виртуальное адресное пространство процесса" все равно не прыгнуть.


> HandleWindow := OpenProcess(


Какой еще к лешему Window ?

Ф-ция OpenProcess() никаких дел дел с окнами не имеет.


 
Vincent   (2010-02-02 22:54) [2]


> Какой еще к лешему Window ?
> Ф-ция OpenProcess() никаких дел дел с окнами не имеет.

Я знаю, какая разница какие имена у переменных, я вообще это просто быстро накатал для примера.


> Да по барабану где оно находится)
> Выше штанов под названием "виртуальное адресное пространство
> процесса" все равно не прыгнуть.

??? Т.е. открыв идентификатор процесса с полными правами я могу обращаться к адресам и в загруженной ею длл?
Если я попытаюсь открыть интересующий адрес (dll+offset) напрямую я получаю неверное число.


 
Vincent   (2010-02-02 23:00) [3]

Странно... Недавно не заботала. Уже заработала... Чудеса...))
Ладно всеравно спасибо)



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

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

Наверх




Память: 0.47 MB
Время: 0.009 c
3-1262553825
wipr
2010-01-04 00:23
2011.08.28
отмена удаления в таблицах DBF


2-1305274898
Panky
2011-05-13 12:21
2011.08.28
перемешение по таблице


15-1304428882
Дмитрий С
2011-05-03 17:21
2011.08.28
Как вы относитесь к работе, которой сами руководите?


6-1240921108
Сергей
2009-04-28 16:18
2011.08.28
Как удалить динамически созданные ClientSocket при OnDisconnect?


2-1305650677
Артём
2011-05-17 20:44
2011.08.28
Копирование значения в CheckListBox -> ListBox