hi all

i want to lower an application's privilige level to 0

is there any such code

Chris
Posted on 2005-01-12 02:46:35 by Chris_a
To do it properly, you need to write a driver. Then your application and driver should communicate and what is needed to be done on ring 0 that driver needs to do it, not your application.
Posted on 2005-01-12 03:43:13 by SamiP
Acutally you raise the privilege level from 3 to 0, since 0 is more privileged :). And as SamiP said, this will require a driver (or some hacks). On Win9x those hacks are pretty easy, on NT it requires a lot more work, and it might be patched in some future windows version.

Why do you need Ring0?
Posted on 2005-01-12 11:46:20 by f0dder
The basic principle is to setup a call/trap/interrupt gate which will allow calls from ring3 to ring0. In 9x windows, descriptor tables are not protected so virtually any code can change them; on NT you need a driver or hacks like \Device\PhysicalMemory or tricks with NtSystemDebugControl (XP).
Posted on 2005-01-12 13:35:42 by omega_red
The reason to go to 0 level is to be able to read write
the TLBs.
Posted on 2005-01-18 08:06:00 by Chris_a
The best way is still to write a driver to read and write TLB. A normal application cannot be in ring0 without any "hacks".
Posted on 2005-01-18 08:46:03 by roticv