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

Вниз

Чужой процесс...   Найти похожие ветки 

 
sergey1   (2004-02-05 20:57) [0]

Здравствуйте !
Может кто подскажет что не так в моем коде, почему он не работает в
чужом процессе ?

GetMem(buff, 255);
DrWND      := GetParent(Handle ListView)
lv         := Handle ListView  

GetWindowThreadProcessId(DrWND, pid);
hProcess  :=  OpenProcess(PROCESS_ALL_ACCESS, false, pid);
addr      :=  VirtualAllocEx(hProcess, @buff, SizeOf(buff), MEM_COMMIT, PAGE_READWRITE);
ListView_GetItemText(lv, 0, 1, addr, SizeOf(buff));
ReadProcessMemory(hProcess, addr, buff, SizeOf(buff), count);
VirtualFreeEx(hProcess, addr, SizeOf(buff), MEM_RELEASE);
ShowMessage(StrPas(buff));
CloseHandle(hProcess);
FreeMem(buff, SizeOf(Buff));

Спасибо.


 
Rauf ©   (2004-02-06 01:26) [1]

Ну во-первых,
ListView_GetItemText( lv, 0, 1, addr, Sizeof( buff ) );
Ты считываешь текст элемента в буффер, значение которого есть выделенная тобою память в чужом процессе. Но считываешь то ты текст все равно в память своего процесса.

Ну во-вторых, ИМХО лучше получать конкретный доступ к процессу, а не весь сразу (PROCESS_ALL_ACCESS).

И в третьих, ты что пытаешься считать текст из листбокса в чужом процессе в память, выделенную в том же чужом процессе?
Если так, то делать это следует через
считывание в буфер своего процесса (ReadProcessMemory),
и запись в выделенный буфер в чужом процессе (WriteProcessMemory).


 
Digitman ©   (2004-02-06 13:39) [2]

как минимум ЭТА строчка должна выполняться в ВАП "чужого" (а не своего) процесса

ListView_GetItemText(..);

не говоря уже об остальных ошибках


 
Digitman ©   (2004-02-06 13:45) [3]

вру.

в любом ВАП она может быть выполнена, но переданные параметрами адрес и размер буфера должны быть актуальными в "чужом", а не своем ВАП

Size(buff) всегда = 4, если buff - указатель, ... что следует из Getmem()



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

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

Наверх




Память: 0.47 MB
Время: 0.059 c
4-1075978820
Лена
2004-02-05 14:00
2004.04.11
Как по hwnd диалога получить IDD_* его шаблона?


3-1078994390
sherminator
2004-03-11 11:39
2004.04.11
из мемо в поле таблицы Access


3-1081944355
zolg
2004-04-14 16:05
2004.04.11
ADO, pack в Dbf


4-1079099581
DennisLNC
2004-03-12 16:53
2004.04.11
Прокрутка в ListView


3-1081500086
Соловьев
2004-04-09 12:41
2004.04.11
EhLib - dgTitlte = false - Access violation