nt! IopLoadDriver
epäsuoraa kutsua käytetään vain SERVICE_DEMAND -aloitusohjaimen merkintään
käynnistyslatausajureille, jotka sinun on katkaistava nt! IopInitializeBuiltInDriver
myös epäsuora puhelu
näet tämän linkin lyhyen esimerkin viestistä # 17 & # 18
http://www.osronline.com/showthread.cfm ? link = 231280
tämä on lepotilassa oleva skripti (hieman muokattu käyttämään gc: tä (siirry ehdollisesta sijasta suositellun sijaan), joka odottaa ikuisesti ja tulostaa! drvobj -tietoja milloin tahansa ohjain ladataan ytimen virheenkorjausistuntoon
ei sanaa kääritty, komennon tulisi olla yhdellä rivillä
.foreach / pS 1 / ps 10 (paikka {# kutsu * dword * ptr * \ [* \ + * \] nt! IopInitializeBuiltinDriver}) {bu paikka ".printf \"% msu \\ n \ ", poi (esp + 4); r $ t0 = poi (esp); gu ;! drvobj $ t0 2; gc "}. foreach / pS 1 / ps 10 (paikka {# kutsu * dword * ptr * \ [* \ + * \] nt! IoploadDriver}) {bu paikka" .printf \ "% msu \\ n \ ", poi (esp + 4); r $ t1 = poi (esp); gu;! drv obj $ t1 2; gc "}
xp sp3 vm
yhdistetyssä kd-istunnossa tee sxe ibp; .reboot
kd pyytää ensimmäisen tauon uudelleenkäynnistyksessä (vastaa / break switch boot.ini -ohjelmassa), kun se rikkoo tämän komentosarjan suorittamisen.
$$ >a< "thisscript.extension" koodi>
kaikkien järjestelmäajurien alkupisteiden ja niiden ohjainobjektien tulostamisen lisäksi
jos sovelluksesi lataa ylimääräisen ohjaimen, myös niiden tiedot tulostetaan
esimerkkilähtö sysinternals dbgview -kohteelle, joka on avattu kohdevm: ssä
dbgv.sys-syötekohta kutsutaan, kun merkitset valinnan ytimen sieppauksen sallimiseksi (ctrl + k)
\ REGISTRY \ MACHINE \ SYSTEM \ ControlSet001 \ Services \ DBGV *** VIRHE: Moduulin lataus on valmis, mutta Dbgv.sysDriver-objektille (ffbd6248) ei voitu ladata symboleja: \ Driver \ DBGVDriverEntry: f6d89185 DbgvDriverStart : 00000000 AjuriPoista: 00000000 AddDevice: 00000000 Lähetysrutiinit:
[00] IRP_MJ_CREATE f6d87168 Dbgv + 0x1168 [01] IRP_MJ_CREATE_NAMED_PIPE 804fa87e pistettä! IopInvalidDeviceRequest [02] IRP_MJ_CLOSE f6d87168 Dbgv + 0x1168 [03] IRP_MJ_READ 804fa87e pistettä! IopInvalidDeviceRequest [04] IRP_MJ_WRITE 804fa87e pistettä! IopInvalidDeviceRequest [05] IRP_MJ_QUERY_INFORMATION 804fa87e pistettä! IopInvalidDeviceRequest 06 IRP_MJ_SET_INFORMATION 804fa87e pistettä! IopInvalidDeviceRequest [07] IRP_MJ_QUERY_EA 804fa87e pistettä! IopInvalidDeviceRequest [08] IRP_MJ_SET_EA 804fa87e pistettä! IopInvalidDeviceRequest [09] IRP_MJ_FLUSH_BUFFERS 804fa87e pistettä! IopInvalidDeviceRequest [0a] IRP_MJ_QUERY_VOLUME_INFORMATION 804fa87e pistettä! IopInvalidDeviceRequest [0b] IRP_MJ_SET_VOLUME_INFORMATION 804fa87e pistettä! IopInvalidDeviceRequest [0C] IRP_MJ_DIRECTORY_CONTROL 804fa87e nt! IopInvalidDeviceRequest [0d] IRP_MJ_FILE _SYSTEM_CONTROL 804fa87e pistettä! IopInvalidDeviceRequest [0e] IRP_MJ_DEVICE_CONTROL f6d87168 Dbgv + 0x1168 [0f] IRP_MJ_INTERNAL_DEVICE_CONTROL 804fa87e pistettä! IopInvalidDeviceRequest [10] IRP_MJ_SHUTDOWN 804fa87e 11 pistettä! IopInvalidDeviceRequest IRP_MJ_LOCK_CONTROL 804fa87e 12 pistettä! IopInvalidDeviceRequest IRP_MJ_CLEANUP 804fa87e pistettä! IopInvalidDeviceRequest [13] IRP_MJ_CREATE_MAILSLOT 804fa87e 14 pistettä! IopInvalidDeviceRequest IRP_MJ_QUERY_SECURITY 804fa87e 15 pistettä! IopInvalidDeviceRequest IRP_MJ_SET_SECURITY 804fa87e 16 pistettä! IopInvalidDeviceRequest IRP_MJ_POWER 804fa87e 17 pistettä! IopInvalidDeviceRequest IRP_MJ_SYSTEM_CONTROL 804fa87e 18 pistettä! IopInvalidDeviceRequest IRP_MJ_DEVICE_CHANGE 804fa87e 19 pistettä! IopInvalidDeviceRequest IRP_MJ_QUERY_QUOTA 804fa87e pistettä! IopInvalidDeviceRequest
[1a] IRP_MJ_SET_QUOTA 804fa87e nt! IopInvalidDeviceRequest [1b] IRP_MJ_PNP 804fa87e nt! IopInvalidDeviceRequest