Это CopyOnWrite - технология с униха. Дело в том что длл таки одна и та же, но при записи в страницу памяти на самом деле страница копируеться и...
Проще всего сделать ZwDeleteFile в DriverEntry и не мучиться, даже файл драйвера можно доставать автоматом с DriverObject->DriverSection
PsGetProcessImageFileName :)
nester7 Конечно нет, это ведь ты придумал, настоятельно рекоммендую всем ставить "(С) nester7"
LPC ?
Jupiter Раздел называеться Win32
RtlDecompressBuffer ?
Меняй оффсет в IDT, зах тебе эти АПИ ?
Никаких проблем кроме эксепшена не было :)
Cr4shА данные пусть там и лежат где были
Нафига ты хукаешь CreateThread ? И зачем саспендишь поток ? Ты же создаешь его не саспендед... Ужас :) Да прямо в нем и сохраняй адрес...
coocky Да, но дело в том что ты сможешь "глобализировать" свй перехват и на других юзеров только если твоя длл использует только ntdll и ничего...
Напиши драйвер который на ProcessNotify будет выделять память по адресу 0x10000 достаточную для копирования всего кода, а на старте кода копируй...
Адреса возврата для RtlCreateUserThread нет. Такие потоки не начинаются с BaseThreadStart, а начинаются прямо с адреса который ты передаешь.
В статье написанна полная дребедень, отлавливать первый поток в системе надо по eip в контексте потока, если он = BaseThreadStart - то это просто...
Если под вистой то надо юзать RtlCreateUserThread ! Причем куда он выходит под вистой я не смотрел, но под ХРю надо инжектить код, и выходить...
странно, но травой не пахнет :)
Нет, я работаю над другим проектом :) Крыть имеющиеся дырки учитывая что он инжектит свою длл через аппинит не представляется мне возможным вообще :)
Бугога :) Топик в хип ! :) Хотел узнать сколько еще людей юзают тоже самое, вот и все
> Хэндл на процесс можно получить неявным образом из csrss А как открыть csrss ? :)
Имена участников (разделяйте запятой).