Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   DLL для Win2000 (http://forum.oszone.net/showthread.php?t=30726)

marine 10-01-2003 18:57 209871

Как получить Dll-ку которая бы исполнялась в привелегированном режиме (нулевой уровень ) под WinNt(2000). *Желательно в VC
Если кто-нибуд точно знает что это невозможно, напишите

vasketsov 10-01-2003 19:30 209872

marine
Это в программирование наверное надо перенести?

XXXX Pro 12-01-2003 12:33 209873

Нормальными путями - невозможно. Либо надо знать и использовать дыры в защите Windows 2000, либо писать модуль, который будет загружаться до загрузки основного ядра Windows (так некоторые отладчики делают).

vasketsov 13-01-2003 15:19 209874

marine
Не совсем понятен вопрос.

1) Как написать DLL, чтоб ее можно было загружать из драйвера и использовать ее экспортиремые функции?

2) Как написать DLL, чтоб ее можно было загрузить как отдельный модуль в адресное пространство ядра?

3) Как загрузить DLL в адресное пространство ядра?

Или еще какой-то вариант?
На все мной перечисленные ответ - ДА, можно.

Отдельный вопрос - необходимость нулевого уровня.

Лучше бы описал задачу полнстью.

XXXX Pro
Что невозможно?

Цитата:

либо писать модуль, который будет загружаться до загрузки основного ядра Windows
Кто его будет загружать и какие отладчики так делают?

marine 13-01-2003 17:20 209875

 Задача состоит в том, чтобы исполнить функцию в которой есть такой фрагмент:
   asm cli
   asm mov al,06H
   asm out 043H,al
   asm mov ax,0f0H
   asm out 043H,al
   asm in al,040H
   asm mov dl,al
   asm in al,040H
   asm xchg dh,al
   asm sti
Обязательно под W2000
Подскажите если знаете как.

Марина.

vasketsov 13-01-2003 17:48 209876

marine
1) попытаться повысить IOPL для своего процесса, работает только для INTEL вроде как, завтра попробую это сделать, если получится - напишу код сюда.

2) попытаться сделать то же самое, только через IOCTL. Это вообще что делается?

3) можно это оформить как драйвер и загружать ее через ZwLoadDriver
NTSYSAPI
NTSTATUS
NTAPI
ZwLoadDriver(IN PUNICODE_STRING Name);
В гугле примеры использования должны искаться.


Время: 22:40.

Время: 22:40.
© OSzone.net 2001-