Re[4]: выделить память в чужом процессе
От: himan  
Дата: 08.04.03 10:38
Оценка:
Здравствуйте, eax, Вы писали:

eax>Здравствуйте, himan, Вы писали:


eax>

А>>>>Кто нить знает способы выделения памяти в чужом процессе без всяких ring 0 под win32 ????
PE>>>Что ты хочешь сделать под 9х ?
PE>>>Для чего память нужна ? И какой процес, консольный или с ГУИ ?
H>>Для чего? А да хоть для того что бы зделать hook на api
H>>например есть такой способ делаем OpenProcess сейчас мы можем Read/WriteProcess так ?! так же мы можем и сделать hook в import table так!? но смысл в том что процедура обработки hooka должна быть в том же контексте что и этот процесс так !? Так вот необходимо встроить в чужой процес эту самую процедуру обработки hooka!!! можно конечно затереть что не юзается (там DOS header) etc...
eax>Эта задача решена давно. Записываешь небольшой кусок кода, выделяющего память, подгружающего код и запускающего поток. Потом ставишь хук на этот загрузчик. Лучше всего записывать в неиспользуемую область в конец исполняемого образа (отмотай форум на пару недель назад). DOS header портить не получается — прога сразу вылетает.

Сложность вся в том что надо несколько Kb там выделить можем конечно и как ты говоришь сделать и более того так делал и кстати DOS header портица на ура без всяких вылетов но тут надо на выделять sharemem потом ставить на что либо на какую нить api hook потом только подгружать из sharemema остальное и потом только делать hook на все остальное но что если процес A хочет лезть в процес B а вот процес A закроется быстрее чем в B вызовится первый hook значит sharemem нету так как он принадлежал A.
Вообщем то было интересно услышать какие нить новые или другие решения этого вопроса...
H>>Вообщем надо что то типа VirtualAllocEx только Win9x (желательно win32)
H>>А какая разница GUI или консоль ???????
eax>Большая. В консольном приложении нельзя хук поставить.
Мне было интересно узнать почему а не "нельзя".

eax>2ALL: есть ли простой способ, имея hwnd, определить консольное это окно или gui? (кроме ковыряния pe-заголовка)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.