Windows如何保护转换到内核模式
发布时间:2020-12-13 20:11:09 所属栏目:Windows 来源:网络整理
导读:Windows如何防止用户模式线程将cpu任意转换为内核模式? 我明白这些事情是真的: 用户模式线程当通过NTDLL进行系统调用时,实际上会转换到内核模式. 通过处理器特定的指令完成向内核模式的转换. 那么这些通过NTDLL的系统调用有什么特别之处?为什么用户模式线
Windows如何防止用户模式线程将cpu任意转换为内核模式?
我明白这些事情是真的: >用户模式线程当通过NTDLL进行系统调用时,实际上会转换到内核模式. 那么这些通过NTDLL的系统调用有什么特别之处?为什么用户模式线程不能伪造它,并执行特定于处理器的指令来转换到内核模式?我知道我在这里丢失了一些关键的Windows架构,这是什么?
你可能认为在用户模式下运行的线程正在调用Ring 0,但这不是实际发生的.用户模式线程导致由Ring 0代码捕获的异常.用户模式线程停止,CPU切换到内核/环0线程,然后可以检查用户模式线程的上下文(例如,调用堆栈和寄存器)以确定要执行的操作.在系统调用之前,它真的是一个例外,而不是专门用于调用ring 0代码的特殊异常.
如果您采取其他响应的建议并阅读intel manuals,您将看到syscall / sysenter不采取任何参数 – O / S决定会发生什么.你不能调用任意代码. WinNT使用函数号映射用户模式代码执行的内核模式功能(例如,NtOpenFile在我的XP机器上为fnc 75h(数字一直在变化,这是NTDll的一个作业是将函数调用映射到fnc号,放在EAX中,将EDX指向输入参数,然后调用sysenter). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Windows计算机从标记VLAN获取SLAAC IPv6
- Windows Phone Mango – ListBox还是LongListSelector?
- windows-phone-7 – 如何在wp7中使用多行文本块?
- Windows下安装MySQL
- windows-xp – 本地帐户的共享和安全模型:在域中使用此设置
- windows下配置php5.5开发环境及开发扩展
- Windows Phone 7 plurk App
- windows-server-2008 – IIS7:无法使用SSL证书和端口443在
- winforms – 如何用DevExpress取代已经消失的60个免费控件?
- 从Windows 10中的bash / linux子系统打开资源管理器
推荐文章
站长推荐
热点阅读