2012-10-30 110 views
1

我有點困惑,我從許多不同的網站閱讀,但目前尚不清楚對我說:RPL從哪裏來?

每個段寄存器可見部分和inivisible 部分。可見部分被稱爲段選擇器 ,並且有加載段選擇器的直接指令。

請求者權限級別(RPL):此字段標識授予數據保護權限的權限級別 。

好吧,我明白,我可以使用程序集中的指令,例如,加載選擇器,但我不能修改RPL的權利?它從何而來? CPU如何選擇它?由於

+1

如果你想成爲黑客,你需要學習到哪裏去找到這樣的信息。 –

回答

2

的RPL實際上只是段選擇最低的2位,所以你可以加載你想進去(0-3)的任何特權級別,但如果請求的級別越高(低數值)大於DPL的相應細分受衆羣,則會收到GP故障。這允許程序輕鬆訪問比操作系統授予的權限更低的段,如果這與內存映射I/O或其他有關。

+0

那爲什麼叫做隱形部分?誰不能看到它?謝謝 – fersarr

+1

RPL是可見部分的一部分。不可見部分保存來自段描述符的信息,並在段寄存器被修改時自動從描述符表中加載。它包括DPL等等。 –

+0

嘿克里斯,你有它倒退:如果段選擇符的RPL數值大於段的DPL,則會得到一個#GP訪問段。 (更低的數字==更高的特權) – user1354557