Strona główna » Carckowanie » asm » IOPL w rejestrze FLAGS
IOPL w rejestrze FLAGS [wiadomość #771] czw, 28 listopad 2002 20:41 Przejdź do następnej wiadomości
kareem33 jest aktualnie niedostępny kareem33
Wiadomości: 2
Dołączył(a): listopad 2002
Junior Member
Witam. Problem jest zwiazany z C++ Builder. Robie taka mala gre, ktora
ma rowniez sie komunikowac przez COMy. Przerwanie 14h nie dziala tak jak
powinno, wiec postanowilem bezposrednio programowac rejestr UART. Jednak
czy pierwszej instrukcji in al,dx (w dx jest adres LCR dla danego
zlacza) pojawia mi sie blad EPrivelage. Zrozumialem z niego, ze na danym
poziomi uprzywilejowania nie moge wykonac tej instrukcji. Mam wiec
pytanie jaki powinien byc i jak zmienic ow poziom uprzywilejowania?

--
Pozdr - Karol Cieśla
Re: IOPL w rejestrze FLAGS [wiadomość #772 (odpowiedź na #771) ] pią, 29 listopad 2002 08:15 Przejdź do poprzedniej wiadomościPrzejdź do następnej wiadomości
piotrk jest aktualnie niedostępny piotrk
Wiadomości: 8
Dołączył(a): listopad 2002
Junior Member
> ma rowniez sie komunikowac przez COMy. Przerwanie 14h nie dziala tak jak
> powinno, wiec postanowilem bezposrednio programowac rejestr UART. Jednak
BCB, czyli Windows

> czy pierwszej instrukcji in al,dx (w dx jest adres LCR dla danego
> zlacza) pojawia mi sie blad EPrivelage. Zrozumialem z niego, ze na danym
Czyli WinXP?

> poziomi uprzywilejowania nie moge wykonac tej instrukcji. Mam wiec
> pytanie jaki powinien byc i jak zmienic ow poziom uprzywilejowania?
Aplikacje Windowsowe dzialaja w ring3.
Sterowniki w ring0.
Gdzie ring1 i 2 nie mam pojecia.
Poczytaj o CreateFile - mozna otworzyc uchwyt do COM1, COM2 czy LPT.
Re: IOPL w rejestrze FLAGS [wiadomość #773 (odpowiedź na #771) ] pią, 29 listopad 2002 08:43 Przejdź do poprzedniej wiadomościPrzejdź do następnej wiadomości
Bogdan jest aktualnie niedostępny Bogdan
Wiadomości: 75
Dołączył(a): marzec 2002
Member
"Karol Cieśla" <kareem33@NOSPAMZ.poczta.onet.pl> napisał:

> Witam. Problem jest zwiazany z C++ Builder. Robie taka mala gre,
ktora
> ma rowniez sie komunikowac przez COMy. Przerwanie 14h nie dziala tak
jak
> powinno, wiec postanowilem bezposrednio programowac rejestr UART.
Jednak
> czy pierwszej instrukcji in al,dx (w dx jest adres LCR dla danego
> zlacza) pojawia mi sie blad EPrivelage. Zrozumialem z niego, ze na
danym
> poziomi uprzywilejowania nie moge wykonac tej instrukcji. Mam wiec
> pytanie jaki powinien byc i jak zmienic ow poziom uprzywilejowania?
>
> --
> Pozdr - Karol Cieśla
>

Jaki powinien być? Do portów mają dostęp aplikacje z następującymi
IOPL:
0 - kernel
1 - sterowniki.
Jak już wspomniano, "zwykłe" aplikacje działają z IOPL = 3.
Zmienić tego nie można, oczywiście, instrukcjami typu pushf/popf.

Ale znalazłem w sieci taki sposób: używa się tzw. call gate, dzięki
której można wykonywać kod tylko dla programów uprzywilejowanych. Kod
umieszczony jest w kilku plikach ( głównie Port32.cpp i Port32.h )
znajdujących się w archiwum Port32.zip. Poszukaj na
www.serwismsb.prv.pl, www.ps.nq.pl, lub na www.internals.com (
pochodzenie programu ). Szczegółowe informacje:

// ----------------------------------------- //
// Port32 v2.2 //
// I/O Port Access Under Windows 95/98 //
// Copyright 1998, 1999 Yariv Kaplan //
// WWW.INTERNALS.COM //
// ----------------------------------------- //

Mam nadzieję, że to ci pomoże.
Pozdrawiam,
Bogdan
Re: IOPL w rejestrze FLAGS [wiadomość #774 (odpowiedź na #773) ] pią, 29 listopad 2002 08:51 Przejdź do poprzedniej wiadomościPrzejdź do następnej wiadomości
piotrk jest aktualnie niedostępny piotrk
Wiadomości: 8
Dołączył(a): listopad 2002
Junior Member
> Ale znalazłem w sieci taki sposób: używa się tzw. call gate, dzięki
Moze sie przydac:
http://developer.intel.com/design/pentium4/manuals/245472.ht m
Re: IOPL w rejestrze FLAGS [wiadomość #775 (odpowiedź na #774) ] pią, 29 listopad 2002 08:59 Przejdź do poprzedniej wiadomościPrzejdź do następnej wiadomości
Bogdan jest aktualnie niedostępny Bogdan
Wiadomości: 75
Dołączył(a): marzec 2002
Member
"piotrk" <piotrk@astercity.net> napisał :
> > Ale znalazłem w sieci taki sposób: używa się tzw. call gate,
dzięki
> Moze sie przydac:
> http://developer.intel.com/design/pentium4/manuals/245472.ht m
>
>

Mam, ale nie używam zbyt często. Polecam też 2 poprzednie części.
Re: IOPL w rejestrze FLAGS [wiadomość #776 (odpowiedź na #772) ] sob, 30 listopad 2002 10:50 Przejdź do poprzedniej wiadomości
kareem33 jest aktualnie niedostępny kareem33
Wiadomości: 2
Dołączył(a): listopad 2002
Junior Member
Użytkownik piotrk napisał:
> BCB, czyli Windows

tak

> Czyli WinXP?
>

dokladnie

> Aplikacje Windowsowe dzialaja w ring3.
> Sterowniki w ring0.
> Gdzie ring1 i 2 nie mam pojecia.
> Poczytaj o CreateFile - mozna otworzyc uchwyt do COM1, COM2 czy LPT.
>

oki, dzieki

--
Pozdr - Karol Cieśla
Poprzedni wątek:Re: ot Pustka
Następny wątek:Propozycja połączenia 2 grup
Idź do forum:
  


Aktualna data: wto lut 7 16:53:22 EST 2012

Łączny czas generowania strony wyniósł 0,01922 sekund.
.:: Kontakt :: 901 niezarejestrowana strona system wymiany linkow no host brak hosta no host Strona główna ::.

Powered by: FUDforum 2.7.6.
Copyright ©2001-2006 FUD Forum Bulletin Board Software