Syscallmon

Tento projekt se také váže k textu v páté kapitole a jeho cílem je ukázat, jak lze pomocí modifikací tabulek systémového volání monitorovat (a potažmo měnit) chování aplikací běžících v uživatelském režimu. Použitá technika se též označuje jako SSDT hooking.

Projekt se opět skládá z ovladače a aplikace. Ovladač přesměruje všechny systémové služby z tabulky systémových volání do svých speciálních rutin a zjišťuje, s jakými parametry jsou jednotlivá volání prováděna a jaká je návratová hodnota originální systémové služby. Tyto údaje následně posílá aplikaci, která je zobrazuje.

Aplikace nezobrazuje hodnoty argumentů systémových volání, protože by se jednalo o velké zesložitění celého ovladače. Musel by totiž ověřovat platnost jednotlivých ukazatelových argumentů, což jak se píše v páté kapitole, není příliš snadná procedura.

Ovladač syscallmon.sys se zaměřuje pouze na “nestínovou” tabulku systémových volání. Rozšíření monitorování i na druhou tabulku však není příliš složité.

Vzhledem k tomu, že tabulka systémových volání pro systémové služby hlavního modulu jádra je na 64bitových verzích Windows monitorována technologií PatchGuard, projekt Syscallmon funguje pouze na platformě IA32, jak je také patrné z tabulky níže.

Systém Verze kernelu
Windows XP SP2/SP3 32bit *
Windows Server 2003 R2 32bit *
Windows Vista 32bit *
Windows 7 32bit *

Stáhnout

Leave a Reply

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