[C, NTAPI] - ZwSystemDebugControl na jakych verzich Win aneb jak na MSR
Chtel bych pod WinNT-XP precist MSR registry, na coz je treba privilegovana instrukce RDMSR a tedy potreba napsat driver, coz si moc netroufam. Hledal sem na netu, nasel sem i nejaky drivery co umi cist IO porty, ale MSR ne. NEvi nekdo o necom? Pripadne nakej ukazkovej zdrojak driveru, kerej umozni volat z user programu jeho funkce kde bych si to moh snadno napsat.
Dalsi vec co sem nasel, je zajimavej hack na knihovnu NTDLL.DLL kde je funkce ZwSystemDebugControl, ktera vola NtSystemDebugControl v ring0 a ta umi spoustu uzitecnejch veci (cteni MSR, IO, BUS, fyzicky pameti...) ale jak se zda, funguje to jen v XP (kod kerej mi v XP funguje mi vraci pri volani v NT/2000 ZwSystemDebugControl chybu, ale ta funkce tam je). Nevite o tom nekdo vic jesi to jde nak podobne i v NT4/2000 ?
Re: [C, NTAPI] - ZwSystemDebugControl na jakych verzich Win aneb jak na MSR
Co třeba LLA driver?
Je obsažen v poslední verzi CPUMSR 0.90
http://www.cpuheat.wz.cz/BetaVersions/CPUMSR_0_90.zip
V dřívějších verzích byla knihovna iomonkey.dll
S tím ZwSystemDebugControl přesně nevím, ale např. ve windows2003 SP1 je přepracována kernel protection a tam to taky nejde použít...
http://www.secure-software-engineeri...=106&Itemid=27
Re: [C, NTAPI] - ZwSystemDebugControl na jakych verzich Win aneb jak na MSR
in Nt/2k/xp/2003sp0 You can do it with ZwSetSystemInformation's SystemLoadAndCallImage
in XP/2003sp0 u also can do it by ZwSystemDebugControl
in 2003sp1,u can try to use the way Alex pubed www.tinykrnl.org/recon2k6.pdf
Není to ale přístup k MSR, ale jump z ring3 na ring0
Hezké využití ve WInXP :)
http://www.securitytracker.com/alert...b/1009128.html
Re: [C, NTAPI] - ZwSystemDebugControl na jakych verzich Win aneb jak na MSR
SPec, diky mrknu na ten LLA, ofocialni stranka nejak nefunguje, tak to este zkusim jinde. Hlavne jesi je k tomu aspon k dispozici header a nakej popis funkci.
>Není to ale přístup k MSR, ale jump z ring3 na ring0
EDIT:
Tak zdrojaky k LLA sem nikde nenasel, pecu na to. Ale zacinam trochu chapat jak ty IO drivery fungujou, do driveru IOPERM (kerej je k dispozici se srcy) se mi podarilo zaimplementovat vlastni zpracovani dalsiho IOCTL kodu a pak to pres IOCTL zavolat z hlavniho programu. Takze MSR uz neni problem, jen musim nako poladit predavani parametru pres ten buffer.
Zkousel sem taky ten ZwSetSystemInformation.SystemLoadAndCallImage hack, ale nako to moc nefungovalo. Ten driver sem s tim nenatah, navic to obcas uplne sestrelilo wokna.
Nicmene ten ZwSystemDebugControl hack je takovej elegantejsi, ze se nemusi nic instalovat. Treba se mi nak podari poresit automatickou instalaci a spusteni toho driveru.
EDIT2:
No tak uz mam vlastni .SYS driver :)
Re: [C, NTAPI] - ZwSystemDebugControl na jakych verzich Win aneb jak na MSR
No tak ted bych se este potreboval dostat na MSR i v Win9x. Myslel sem ze to nebude problem, kdyz 9x toliko ochranu neresi, ale problem to je a este vetsi. Docela rad bych se vyhnul psani VXD, protoze GNU linker mingw pry neumi format LE...
EDIT:
dobry, tak uze sme nasel perfektni ring0 hack, soucast zrojaku opensource CrystalCPUID (msr9x.cpp)