Этот метод хорошо работал, когда был доступ к PhysicalMemory из третьего кольца. Указанным в начале страницы способом искался RVA...
Всё должно работать так, как описано. Давай код в студию.
Посмотрел на виртуалке и на реальной машине: На Вин7 виртуальный адрес 0x82952C00, физический, согласно MmGetPhysicalAddress - 0x2952C00 Vista...
Сегодня проверил. На XP-2003 действительно MmGetVirtualForPhysical() от 0x40000 возвращает правильный виртуальный адрес. На Vista и Win 7 - нет....
Clerk На самом деле просто обидно, что элегантное решение в несколько ассемблерных команд в итоге сведётся к банальному scandown, разбору таблицы...
На Вирустехе нашёл коррелирующую тему (http://www.virustech.org/f/viewtopic.php?id=57), но решения нет. На самом деле задача сводится к выполнению...
Да, конечно же у меня описка, селектор везде 0x30 - разная база сегмента. Насчёт массива указателей в HalpProcessorPCR я знаю, только до неё...
Посмотрел на код из int.c и взгрустнул.
Windows 2000 меня не интересует. Делаю: mov eax, fs:[0x34] mov eax, dword ptr [eax + 0x10] // eax <- NtoskrnlBase Отлично работает на...
Для ХР и выше NTSTATUS IoQueryFileDosDeviceName(IN PFILE_OBJECT FileObject, OUT...
katrus, много раз тут обсуждалось. Поиск рулит. ЗЫ: А чем \??\С:\hello\world.txt не нравится?
Да, а ещё может быть так, что Program Files присутствует не только на диске С: или D:, а скажем на всех логических дисках. Разные программы...
Перехватывать NtUserGetDCEx для этой задачи, ну.. совсем через одно место. ИМХО. Просто тут NtCreateSection не совсем годится - винда всё равно...
GVL, я сталкивался с проблемой, когда при перехвате NtCreateSection выдаёшь что-то типа STATUS_ACCESS_DENIED. Винда ругается в красном окошке, мол...
SII всё сказал правильно. Чтобы в этом убедиться, достаточно посмотреть на экспорт hal.dll. Это конечно сильно... Парень наверное еще в 6м...
Как вариант. HWND KernelGetActiveWindow () { PUSER_MESSAGE_QUEUE ms; ms = (W32THREAD*)PsGetCurrentThread()->Tcb.Win32Thread->MessageQueue; return...
Да, посмотрел XP, действительно есть, но не экспортируется. Надо на Win2K ещё глянуть..
KeIpiGenericCall можно использовать только начиная с WIN 2003, не слишком универсально, зато просто.
Так а в чём проблема? В элементарном случае это драйвер устройства (DEVICE_DRIVER), который обрабатывает запросы от любого числа клиентский...
Сформулируй чётко задачу без своих рассуждений. Мозг не выдерживает читать такое.
Имена участников (разделяйте запятой).