Jaki maly problemik mam, otoz chce zrobic drivery dzialajace pod ring3 w ktorym jak wiadomo nie ma portow (przynajmniej "domyslnie"). W TSSie za to jest cos takiego jak IO permision mask, sek w tym, ze nie korzystam z TSS (tzn nie w pelni, tylko po to aby odczytac stos dla innego dpla). Czy ktos ma jakis pomysl zeby dac procesowi mozliwosc bawienia sie portami nie przepisujac zamiany kontekstow?
0
0
Flaga IOPL ustawiona tylko-dla-procesu-w-tej-chwili nie pomoże?
!! A-TAK-POZA-TYM !! Po co ci drivery na Ring3?
0
Masz racje, doczytalem i jest tak jak mowisz. Jesli IOPL jest >= PL to proces ma dostep do portow, jesli nie to sprawdza jeszcze maske IO, IOPL mozna zmieniac tylko z PL=0 wiec wszystko jest kul. Dzieki.
A, po co mi drivery na ring3?
- Ochrona - zdarzy sie, ze przez przypadek sie gdzie cli,hlt pojawi i co ... wiem, ze majac ostep do IO mozna posiekac system no ale juz trudniej. Po poprzednim moim topiku i rozkminieniu tego wszystkiego dostalem szala na punkcie bezpieczenstwa.
- Elastycznosc - drivery to zwykle procesy z jakas tam flaga, nie musze sie martwic, ze jakby dzialaly na ring0 to inne rzeczy na stos by kladlo przerwanie itp. Po prostu prosciej tak.</delphi>