Copyright © 2020-2023 www.SOT9.com. All Rights Reserved .
合作联系: QQ: 3217490875
porttalk是一种方便的编写的程序解决瘟疫的Windows NT/2000和Windows XP的问题,即严格控制I / O端口。与Windows 95和98不同的是,Windows NT/2000/XP系统会抛出一个异常(特权指令),如果试图访问一个端口,你是不是谈的神器出山:www.shenqi73.com特权。
访问I / O端口,在保护模式下是由两个事件,I / O特权级(IOPL)EFLAGS寄存器中的I / O许可位图的任务状态段(TSS)。
在Windows NT中,只有两个I / O特权级,0级和3级。用户模式的程序将运行在特权级3,设备驱动程序和内核将运行在特权级0,通常被称为0环。
PORTTALK将允许受信任的操作系统和驱动程序在内核模式下运行,访问的端口,少受信任的用户模式进程,同时防止接触的I / O端口,并造成冲突。所有用户模式的程序应该跟一个设备驱动程序访问进行仲裁。
允许程序没有足够的特权(即用户模式的程序)能够访问的I / O端口,可用于I / O许可位图。当一个I / O指令被执行时,首先会检查处理器的任务是足够的特权访问的端口。
如果是这样的情况下,I / O指令将被执行。但是,如果任务是不允许这样做的I / O,处理器将检查I / O许可位图。
I / O许可位图,顾名思义使用一个位来表示每个I / O地址。如果一个端口对应的位被设置,则该指令将产生一个例外,但是,如果该位被清零,然后在I / O操作将继续进行。
这给出了一个手段,让某些进程访问某些端口。有一个I / O许可位图,每个任务。