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