Возможно ли создать «универсальный» драйвер для исполнения произвольного кода в Ring0?

Здравствуйте! Возможно ли создание "универсального" драйвера, исполняющего произвольный код в нулевом кольце? Представляю работу так: драйверу передаётся указатель на функцию, он исполняет её в нулевом кольце, возвращает результат. Если такое возможно, то как это можно осуществить?
Или, может, есть возможность совершать действия в нулевом кольце без драйвера? Например, относительно недавно нашёл библиотеку (именно библиотеку, DLL-ку) для прямого доступа к портам ввода-вывода (inpout32.dll). Что характерно, библиотека работает без *.sys-файлов, без каких-либо дополнительных телодвижений на Win8.1 x64 (значит, есть какой-то способ получить доступ к Ring0 без драйвера, ведь порты - это же нулевой уровень привилегий!)
И, если доступ к портам получен, нельзя ли каким-либо аналогичным образом получить доступ к Ring0 в целом?
Это нужно не для чего-то серьёзного, а для пары-тройки инструкций, типа RDMSR/WRMSR/IN/OUT. Чтение\запись модельно-специфичных регистров для получения внутренней информации процессора (температура и частоты), доступ к отладочным регистрам, доступ к портам (для получения температуры с датчиков материнской платы, доступ к системной пищалке).
То есть, мне драйвер нужен не для установки нового оборудования - возможно, для этих целей получится обойтись без драйвера, как в случае доступа к портам.

Сразу оговорюсь, что С/С++ совершенно не знаю, пишу в Delphi 2007 и на Flat Assembler'e, пробовал писать драйвер по инструкции из RSDN, собирал MASM'овским линкером. Как бы то ни было, *.sys-файл получался, но установить его в систему так и не получилось. Возможно, в WinXP это бы получилось (не пробовал), но в Win8.1 x64 - нет.

В общем, если кто знает, как написать подобный драйвер с установщиком в систему, чтобы при этом не нужно было отключать проверку подписей (или что там блокирует установку произвольного драйвера) - буду рад услышать рациональные предложения.
  • Вопрос задан
  • 3951 просмотр
Пригласить эксперта
Ответы на вопрос 3
@mayorovp
Это сделать возможно, но за такие мысли надо убивать!
Ответ написан
@Mercury13
Программист на «си с крестами» и не только
Это к Sony или StarForce. И те, и другие делали заSHITу и прокалывались на подобном.
Ответ написан
KOLANICH
@KOLANICH
Знаю JS, PHP, C++, C#
драйвер с установщиком в систему, чтобы при этом не нужно было отключать проверку подписей

А если подписать самоподписанным, а самоподписанный добавить в доверенные, прокатит?

получение внутренней информации процессора (температура и частоты)

WMI тебе в помощь, kernelmode не нужен
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы