PProc

Windows Vista vylepšuje podporu DRM (Digital Rights Management) zavedením speciálního druhu procesu, který se označuje jako chráněný (protected). Ostatní procesy k takovým entitám mohou získat jen omezený přístup, nemohou například číst jejich paměť. Obdobná situace platí i v případě vláken chráněných procesů.

Pokud nevlastníte speciální certifikát, nemůžete chráněný proces dokumentovaným způsobem vytvořit. Po troše výzkumů jsem však zjistil, že chráněné procesy mají ve své struktuře EPROCESS nastavený speciální příznak, kterým se právě odlišují od ostatních. Stačí jej nastavit a daný proces je okamžitě považován za chráněný. A to přesně dělá projekt PProc – umožňuje na požádání změnit status “chráněnosti” libovolného procesu.

Projekt se skládá z konzolové aplikace a ovladače. Aplikace podle formátu argumentů příkazové řádky posílá příslušné příkazy ovladači. Možné syntaxe jsou následující:

pproc --list-protected
pproc --protect <PID>
pproc --unprotect <PID>
pproc --do-process-tests <PID>
pproc --do-thread-tests <TID>

Jednotlivé příkazy umožňují:

  • zobrazit seznam chráněných procesů,
  • nastavit zadaný proces jako chráněný a naopak,
  • pokusit se získat přístup k zadanému procesu s různými oprávněními. Při provádění této operace na chráněný proces se podaří získat jen handle s některými oprávněními, ostatní pokusy skončí s chybou “přístup odepřen”. Podobné testy aplikace dovoluje provádět i na vláknech.

Projekt by měl dobře fungovat jak na 32bitových, tak na 64bitových verzích Windows Vista a Windows 7.

Systém Verze kernelu
Windows Vista 32bit *
Windows Vista 64bit *
Windows 7 32bit *
Windows 7 64bit *

Stáhnout

Leave a Reply

Your email address will not be published. Required fields are marked *