|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Янв 20, 2004 21:41:49 Я попробовал пропатчить kernel32.dll но ясное дело патч действителен в пределах этого процесса, как бы это проделать для всех процессов или захучить чтоб не патчить? |
|
|
Дата: Янв 20, 2004 21:59:31 А помнишь, я тебя просил помочь мне с WFP? Так вот, угадай, для чего я падчил ядро? :) PEB заполняется в ядре. Поле PEB.BeingDebugged заполняется на основе поля EPROCESS.DebugPort. Надо чуть-чуть еще подумать - и тема пойдет в третью часть. Кстати, довольно скоро будет готова первая глава! |
|
|
Дата: Янв 20, 2004 22:05:03 Приаттачиться на лету можно, и тогда в PEB.BeingDebugged нехорошее значение запишеться в другом месте, а не в коде создания процесса, надо ещё все места найти, где патчить. |
|
|
Дата: Янв 20, 2004 22:06:54 Предположительно: MiCreatePeb NtSetInformationProcess Спасибо Four-F и мне :) |
|
|
Дата: Янв 20, 2004 22:38:43 · Поправил: Grenader volodya [оффтопик] кстати - не накопал ли ты часом, как можно избавиться от WFP? я способов не вижу приемлимых пока... |
|
|
Дата: Янв 20, 2004 23:31:04 Grenader Поиск по форуму - приемлимый способ есть. Мой же пост о WIndows File Protection. |
|
|
Дата: Янв 21, 2004 01:02:24 Я вобщем-то придумал для себя решение, так как на все процессы это осуществить не получается, то нужно захучить CreateProcessA и от него плясать, по крайней мере мой целевой процесс будет пропатчен! |
|
|
Дата: Янв 25, 2004 09:32:11 Ну, тут ты не совсем прав.Это только лишь под winnt. Что касается win9x то kernel32.dll находится в Shared Memory. Это значит, что код отбражается на все контексты. Все произошедшие там изменения автоматически будут видны всем предложениям. Под Winnt если процесс пытается писать в защищённую память(в кодовый сегмент при наличии соответствующих привелегий) срабатывает некий механизм, называемый "копирование при записи". Механизм заключается в следующем: при попытке писать в память возникает исключение, обработчик которого выделяет кусок памяти и переписывает туда ту страницу, в которую пытались до этого писать. Далее эта страничка отображается на контекст процесса и производится запись в неё. Механизм используется windows nt и юниксами в целях защиты и экономии памяти. Для того, что бы изменения произошли одновременно во всех контекстах покапайся в msdn, там я видел соответствующие функции. Под win9x проканает и так, только перед записью вызови _Page_Modify_Permissions через драйвер или Kernel32!Ord_0001 (VMMCall). Дерзай. |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.117 |