Сейчас на форуме: morgot, Rio, CDK123, zds, tyns777, tihiy_grom, rmn (+4 невидимых)

 eXeL@B —› Программирование —› Прерывание в Windows (Privileged Instruction)
Посл.ответ Сообщение

Ранг: 2.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 19 октября 2008 20:38
· Личное сообщение · #1

Здравствуйте.
Как можно выполнить прерывание в Виндоусе, если при выполнении программы (примеры нашёл в интернете на яз. С), получаю сообщение: Privileged Instruction, либо просто ошибку приложения.
Пытался писать на ассемблере, хотел получить скан код клавиши in al, 60h, все равно получаю сообщение о привилегированной инструкции. А у меня задание, выполнить прерывание клавиатуры в Windows, пытался искать в интернете решение, но что-то говорилось про Ring0, так я и не понял что нужно сделать.
Можно ли выполнить прерывание в винде и какими способами?




Ранг: 355.4 (мудрец), 55thx
Активность: 0.320
Статус: Uploader
5KRT

Создано: 19 октября 2008 20:52 · Поправил: coderess
· Личное сообщение · #2

Можно ли выполнить прерывание в винде и какими способами?

Самый простой способ, это написать простейший драйвер и вызывать из него свой код, также есть способ получения привилегий ring0, через баг в Windows, такая техника использовалась в вирусах - модификация IDT (Interrupt Descriptor Table), x86 инструкция sidt, для подробного изучения смотри

Руководство от Билли Бельчебю
wasm.ru/article.php?article=vgw05

-----
Gutta cavat lapidem. Feci, quod potui. Faciant meliora potentes




Ранг: 2.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 19 октября 2008 21:32
· Личное сообщение · #3

coderess, попробовал запустить пример (http://wasm.ru/article.php?article=vgw05), вылетает с ошибкой.
Может быть не на всех виндах работает, у меня WinXP SP2?




Ранг: 355.4 (мудрец), 55thx
Активность: 0.320
Статус: Uploader
5KRT

Создано: 19 октября 2008 22:05
· Личное сообщение · #4

Derak там нужна Win9x, тогда только через драйвер.

-----
Gutta cavat lapidem. Feci, quod potui. Faciant meliora potentes





Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 19 октября 2008 22:15
· Личное сообщение · #5

Ну и причём тут форум исследования защиты? Почитайте хотя бы немного про защищённый режим работы процессора, про кольца защиты и про то, что все подряд прерывания дёргать не приведёт ни к чему хорошему.
Либо пишите под дос, либо драйвер, либо юзайте документированные функции винапи.
Топик закрыт, ибо никак не по тематике.


 eXeL@B —› Программирование —› Прерывание в Windows (Privileged Instruction)
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати