Névjegyek

A fájlrendszer szűrőkezelője nem futtatja az avast -ot. Hogyan telepítsem az ingyenes antivírust avast. Az ingyenes Avast víruskereső telepítése

Egy olyan szűrőillesztőt hívnak meg, amely magasabb a hierarchiában, mint egy fájlrendszer -illesztőprogram fájlrendszer szűrő illesztőprogram(fájlrendszer szűrő illesztőprogram). (A szűrő -illesztőprogramokról lásd a 9. fejezetet.) Az a képessége, hogy látja a fájlrendszerre irányuló összes kérést, és szükség esetén módosíthatja vagy végrehajthatja azokat, lehetővé teszi alkalmazások, például replikációs szolgáltatások létrehozását. törölt fájlokat, fájl titkosítás, biztonsági mentés és engedélyezés. Bármely kereskedelmi víruskereső szkenner, amely menet közben vizsgálja a fájlokat, tartalmaz egy fájlrendszer -illesztőprogramot, amely elfogja az IRP -ket az IRP_MJ_CREATE parancsokkal, amikor az alkalmazás minden alkalommal megnyit egy fájlt. Mielőtt elküldené ezt az IRP -t a fájlrendszer illesztőprogramjához, amelyhez ez a parancs tartozik, a víruskereső ellenőrzi a megnyitott fájlt vírusok szempontjából. Ha a fájl tiszta, a víruskereső továbbítja az IRP -t a láncban, de ha a fájl fertőzött, a szkenner felhívja a szervizfolyamatot a fájl törléséhez vagy fertőtlenítéséhez. Ha a fájl nem fertőtleníthető, a szűrőillesztő elutasítja az IRP -t (általában "hozzáférés megtagadva" hibával), hogy megakadályozza a vírus aktiválódását.

Ebben a részben leírjuk, hogyan működik két konkrét fájlrendszer -szűrő -illesztőprogram: a Filemon és a Rendszer -visszaállítás. A Filemon egy segédprogram a fájlrendszer tevékenységének megfigyelésére (a webhelyről wwwsystntemals.com), A könyv számos kísérletében használt példa egy passzív szűrő -illesztőprogram, amely nem módosítja az alkalmazások és fájlrendszer -illesztőprogramok közötti IRP -áramlást. A Rendszer -visszaállítás, a Windows XP rendszerben bevezetett szolgáltatás, fájlrendszer -szűrő -illesztőprogram segítségével figyeli a legfontosabb rendszerfájlok változásait, és biztonsági másolatot készít azokról, hogy ezek a fájlok visszaállíthatók legyenek a visszaállítási pontok létrehozásakor meglévő állapotba.


JEGYZET A Windows XP Service Pack 2 és a Windows Server 2003 tartalmazza a fájlrendszer -szűrő -kezelőt (\ Windows \ System32 \ Drivers \ Fltmgr.sys) a fájlrendszer -szűrő -illesztőprogramok miniport portmodelljének részeként. Ez az összetevő a Windows 2000 rendszerben is elérhető lesz. A Fájlrendszer -szűrőkezelő drámaian leegyszerűsíti a szűrő -illesztőprogramok fejlesztését azáltal, hogy interfészt biztosít a szűrő miniport -illesztőprogramjaihoz a Windows I / O alrendszerhez, valamint támogatást nyújt a fájlnevek lekérdezéséhez, a kötetekhez való kapcsolódáshoz és kölcsönhatásba lép más szűrőkkel. A fejlesztők, köztük a Microsoft, új fájlrendszer -szűrőket írnak a Fájlrendszer -szűrőkezelő által biztosított infrastruktúra alapján, és áttelepítik a meglévő szűrőket.

<= IRP_MJ_MAXIMUM_FUNCTION; ++i) { DriverObject->MajorFunction [i] = FsFilterDispatchPassThrough; ) DriverObject->

// // Globális adatok FAST_IO_DISPATCH g_fastIoDispatch = (sizeof (FAST_IO_DISPATCH), FsFilterFastIoCheckIfPossible, ...); // DriverEntry-Az illesztőprogram belépési pontja NTSTATUS DriverEntry (__ inout PDRIVER_OBJECT DriverObject, __in PUNICODE_STRING RegistryPath) (... // // Gyors-io feladási táblázat beállítása. // DriverObject->

Illesztőprogram -kirakodási rutin beállítása

// DriverEntry - Az illesztőprogram belépési pontja NTSTATUS DriverEntry (__ inout PDRIVER_OBJECT DriverObject, __in PUNICODE_STRING RegistryPath) (... // // Illesztőprogram kiürítési rutin beállítása (csak hibakeresési célra). // DriverObject->

< numDevices; ++i) { FsFilterDetachFromDevice(devList[i]); ObDereferenceObject(devList[i]); } KeDelayExecutionThread(KernelMode, FALSE, &interval); } }

IrpDispatch.c

Szállítási átjáró

// // PassThrough IRP Handler NTSTATUS FsFilterDispatchPassThrough (__ a PDEVICE_OBJECT DeviceObject-ban, __in PIRP Irp-ben) (PFSFILTER_DEVICE_EXTENSION pDevExt = (PFSFILTER_DEVICE_EXTENSION) Eszköz

Küldés létrehozása

// // IRP_MJ_CREATE IRP-kezelő NTSTATUS FsFilterDispatchCreate (__ a PDEVICE_OBJECT DeviceObject-ban, __in PIRP Irp-ben) (PFILE_OBJECT pFileObject = IoGetCurrentIrpStackLocation (Irp) "

FastIo.c

// Makró annak ellenőrzésére, hogy a FAST_IO_DISPATCH kezelési rutin érvényes -e -> _ Mezőnév! = NULL))

Gyors I / O átvitel

BOOLEAN FsFilterFastIoQueryBasicInfo (__ a PFILE_OBJECT FileObject, __in BOOLEAN Várjon, __out PFILE_BASIC_INFORMATION puffer, __out PIO_STATUS_BLOCK IoStatus, __in PDEVICE_OBJECT DeviceObject) (// // Pass a logika az ilyen típusú gyors I / O // PDEVICE_OBJECT nextDeviceObject = ((PFSFILTER_DEVICE_EXTENSION) DeviceObject -> DeviceExtension) -> AttachedToDeviceObject; PFAST_IO_DISPATCH fastIoDispatch = nextDeviceObject-> DriverObject -> FastIoDispatch; if (VALID_FAST_IO_DISPATCH_HANDLER (fastIoDispatch, FastIoQuery)

Gyors I / O leválasztó eszköz

Értesítés.c

AttachDetach.c

Csatolás

Leválás

void FsFilterDetachFromDevice (__ a PDEVICE_OBJECT DeviceObject-ban) (PFSFILTER_DEVICE_EXTENSION pDevExt = (PFSFILTER_DEVICE_EXTENSION) DeviceObject-> DeviceExtension; IoDetachDevice (pDevEvice)

// // Egyéb BOOLEAN FsFilterIsMyDeviceObject (__ a PDEVICE_OBJECT DeviceObject-ban) (return DeviceObject->

Források és makefile

A forrásfájl tartalma:

A makefile szabványos:

SC.EXE áttekintés

Sc indítsa el az FsFilter -t

Állítsa le a fájlrendszer illesztőprogramját

Sc stop FsFilter

Sc törölje az FsFilter -t

Eredményes szkript

Egyre fejlettebb

Következtetés

Oktatóanyagunkban egyszerű lépéseket tettünk a fájlrendszer -szűrő -illesztőprogram létrehozásához. Megmutattuk, hogyan kell telepíteni, elindítani, leállítani és eltávolítani a fájlrendszer -szűrő -illesztőprogramot a parancssor használatával. Más fájlrendszer -szűrő -illesztőprogram -problémákat is tárgyaltak. Megfontoltuk a fájlrendszer eszközkötegét és a hozzá tartozó szűrőket, és megbeszéltük, hogyan figyelhetjük az illesztőprogram hibakeresési kimenetét. A cikkben található erőforrásokat vázként használhatja saját fájlrendszer -szűrő -illesztőprogramjának kifejlesztéséhez, és módosíthatja annak viselkedését. igények.

Hivatkozások

  1. Tartalom fájlrendszer- vagy fájlrendszer -szűrő -fejlesztők számára
  2. sfilter DDK minta

Reméljük, tetszett a Windows illesztőprogram -fejlesztő oktatóanyagunk. Készen áll egy tapasztalt csapat felvételére a projekten, például a fájlrendszer -szűrő illesztőprogram fejlesztésében? Csak lépjen velünk kapcsolatba, és minden részletet megadunk!

Ez az oktatóanyag könnyen érthető lépéseket kínál az egyszerű fájlrendszer -szűrő -illesztőprogram -fejlesztéshez. A bemutató illesztőprogram, amely megmutatja, hogyan hozhat létre nyitott fájlok nevét a hibakeresési kimenethez.

Ez a cikk azoknak a mérnököknek készült, akik alapvető Windows -illesztőprogram -fejlesztési tapasztalattal, valamint C / C ++ ismeretekkel rendelkeznek. Ezenkívül hasznos lehet azok számára is, akik nem ismerik a Windows illesztőprogram -fejlesztését.

Írta:
Szergej Podobriy,
A sofőrcsapat vezetője

Mi a Windows fájlrendszer szűrő illesztőprogramja?

Minden fájlrendszer I / O művelet (létrehozás, olvasás, írás, átnevezés stb.) Során meghívják a Windows fájlrendszer szűrőillesztőjét. Ezért képes módosítani a fájlrendszer viselkedését. A fájlrendszer -szűrő illesztőprogramjai összehasonlíthatók a régi illesztőprogramokkal, bár több speciális fejlesztési lépést igényelnek. A biztonsági, biztonsági mentési, pillanatfelvételi és víruskereső szoftverek ilyen illesztőprogramokat használnak.

Egyszerű fájlrendszer -szűrő -illesztőprogram fejlesztése

A fejlesztés megkezdése előtt

Először is, a fájlrendszer -szűrő -illesztőprogram kifejlesztéséhez szüksége van a Microsoft webhelyéről származó IFS vagy WDK készletre. A% WINDDK% környezeti változót is be kell állítania arra az elérési útra, amelyre a WDK / IFS készletet telepítette.

Figyelem: A fájlrendszer -illesztőprogramban a legkisebb hiba is BSOD -t vagy rendszer instabilitást okozhat.

Fő.c

Fájlrendszer szűrő illesztőprogram bejegyzés

Hozzáférési pont minden illesztőprogramhoz, beleértve a fájlrendszer -szűrő illesztőprogramját is. Az első dolog, amit meg kell tennünk, a DriverObject globális változóként való tárolása (később fogjuk használni):

// // Globális adatok PDRIVER_OBJECT g_fsFilterDriverObject = NULL; // // DriverEntry - Az illesztőprogram belépési pontja NTSTATUS DriverEntry (__ in PDRIVER_OBJECT DriverObject, __in PUNICODE_STRING RegistryPath) (NTSTATUS állapot = STATUS_SUCCESS; ULONG i = 0; // ASSERT (FALSE); // Ez hibás lesz a tároláshoz / illesztőprogram objektumunk. // g_fsFilterDriverObject = DriverObject; ...)

Az IRP feladási táblázat beállítása

A fájlrendszer -szűrő -illesztőprogram fejlesztésének következő lépése az IRP -küldési táblázat feltöltése funkciómutatókkal az IRP -kezelőkhöz. Fájlkezelőnkben lesz egy általános átjáró IRP-kezelő, amely továbbítja a kéréseket. Szükségünk lesz egy IRP_MJ_CREATE kezelőre is a megnyitott fájlok nevének lekéréséhez. Később megfontoljuk az IRP kezelők megvalósítását.

// DriverEntry - Az illesztőprogram belépési pontja NTSTATUS DriverEntry (__ inout PDRIVER_OBJECT DriverObject, __in PUNICODE_STRING RegistryPath) (... // Inicializálja az illesztőprogram objektum elküldési tábláját. // for (i = 0; i<= IRP_MJ_MAXIMUM_FUNCTION; ++i) { DriverObject->MajorFunction [i] = FsFilterDispatchPassThrough; ) DriverObject-> MajorFunction = FsFilterDispatchCreate; ...)

Gyors I / O feladási táblázat beállítása

A fájlrendszer -szűrő -illesztőprogram gyors I / O -küldési táblázatot igényel. Ha nem állítja be ezt a táblázatot, a rendszer összeomlik. A gyors I / O egy másik módja az I / O műveletek kezdeményezésének, amelyek gyorsabbak, mint az IRP. A gyors I / O műveletek mindig szinkronban vannak. Ha a gyors I / O kezelő FALSE értéket ad vissza, akkor nem használhatjuk a gyors I / O műveleteket. ebben az esetben IRP jön létre.

// // Globális adatok FAST_IO_DISPATCH g_fastIoDispatch = (sizeof (FAST_IO_DISPATCH), FsFilterFastIoCheckIfPossible, ...); // // DriverEntry-Az illesztőprogram belépési pontja NTSTATUS DriverEntry (__ inout PDRIVER_OBJECT DriverObject, __in PUNICODE_STRING RegistryPath) (... // // Fast-io dispatch table beállítása. // DriverObject-> FastIoDispatch = & g_fastIoDispatch; .. .

Értesítések regisztrálása a fájlrendszer változásairól

A fájlrendszer -szűrő -illesztőprogram fejlesztése során értesítést kell regisztrálnunk a fájlrendszer -változásokról. Rendkívül fontos nyomon követni, hogy a fájlrendszer aktiválva vagy deaktiválva van -e a fájlrendszer -szűrő illesztőprogramunk csatolásához / leválasztásához. Az alábbiakban a fájlrendszer változásainak nyomon követését láthatja.

// DriverEntry - Az illesztőprogram belépési pontja NTSTATUS DriverEntry (__ inout PDRIVER_OBJECT DriverObject, __in PUNICODE_STRING RegistryPath) (... // // Regisztrált visszahívási rutin a fájlrendszer változásaihoz. // status = IoRegisterFsRegistrationChange (DriverObject) if FsFCallbackChange ! NT_SUCCESS (állapot)) (visszatérési állapot;) ...)

Illesztőprogram -kirakodási rutin beállítása

A fájlrendszer illesztőprogram inicializálásának utolsó része egy kiürítési rutin beállítása. Ez a rutin segít a fájlrendszer -szűrő illesztőprogramjának újratöltés nélküli betöltésében és kiürítésében. Mindazonáltal ez az illesztőprogram valóban hibakeresési célból válik letörölhetetlenné, mivel lehetetlen biztonságosan kiüríteni a fájlrendszer -szűrőket. Nem ajánlott az éles kódban végrehajtani a kirakodást.

// // DriverEntry - Az illesztőprogram belépési pontja NTSTATUS DriverEntry (__ inout PDRIVER_OBJECT DriverObject, __in PUNICODE_STRING RegistryPath) (... // // Illesztőprogram kiürítési rutin beállítása (csak hibakeresési célra). // DriverObject-> DriverUnload = FsFilterUnload; vissza STATUS_SUCCESS;)

Fájlrendszer -illesztőprogram eltávolításának végrehajtása

A vezető kirakodási rutinja megtisztítja az erőforrásokat, és kiosztja azokat. A fájlrendszer -illesztőprogram fejlesztésének következő lépése a fájlrendszer -változásokról szóló értesítés regisztrációjának megszüntetése.

// // Rutin rutin VOID FsFilterUnload (__ a PDRIVER_OBJECT DriverObject -ben) [... // // Nem regisztrált visszahívási rutin fájlrendszer -változtatásokhoz. // IoUnregisterFsRegistrationChange (DriverObject, FsFilterNotificationCallback); ...)

Az értesítés regisztrációjának megszüntetése után át kell tekintenie a létrehozott eszközöket, és le kell választania és el kell távolítania azokat. Ezután várjon öt másodpercet, amíg az összes kiemelkedő IRP befejeződik. Vegye figyelembe, hogy ez csak hibakeresési megoldás. Nagyobb számú esetben működik, de nincs garancia arra, hogy mindegyikben működni fog.

// // Unload rutinos VOID FsFilterUnload (__ a PDRIVER_OBJECT DriverObject -ben) [... for [;;] [IoEnumerateDeviceObjectList (DriverObject, devList, sizeof (devList), & numDevices); if (0 == numDevices) (break;) numDevices min (numDevices, RTL_NUMBER_OF (devList)); for (i = 0; i< numDevices; ++i) { FsFilterDetachFromDevice(devList[i]); ObDereferenceObject(devList[i]); } KeDelayExecutionThread(KernelMode, FALSE, &interval); } }

IrpDispatch.c

Szállítási átjáró

Ennek az IRP -kezelőnek az egyetlen felelőssége, hogy továbbítsa a kéréseket a következő vezetőnek. A következő illesztőprogram -objektumot az eszközbővítményünk tárolja.

// // Átjárható IRP Handler NTSTATUS FsFilterDispatchPassThrough (__ a PDEVICE_OBJECT DeviceObject, __in PIRP IRP) (PFSFILTER_DEVICE_EXTENSION pDevExt = (PFSFILTER_DEVICE_EXTENSION) DeviceObject-> DeviceExtension; IoSkipCurrentIrpStackLocation (IRP); visszatérési IoCallDriver (pDevExt-> AttachedToDeviceObject, IRP);)

Küldés létrehozása

Minden fájl létrehozási művelet meghívja ezt az IRP kezelőt. Miután megkaptuk a fájlnevet a PFILE_OBJECT -ből, kinyomtatjuk a hibakeresési kimenetre. Ezt követően meghívjuk a fent leírt átmenő kezelőt. Vegye figyelembe, hogy a PFILE_OBJECT fájlban csak addig létezik érvényes fájlnév, amíg a fájl létrehozásának művelete befejeződik! párt erőforrásai, akkor további részleteket találhat a fájlnevek lekéréséről ezekben az esetekben.

// // IRP_MJ_CREATE IRP -kezelő NTSTATUS FsFilterDispatchCreate (__ a PDEVICE_OBJECT DeviceObject -ban, __in PIRP Irp -ben) (PFILE_OBJECT pFileObject = IoGetCurrentIrpStackLocation (Irpur) "Irpurp"

FastIo.c

Mivel nem minden gyors I / O rutint kell megvalósítania az alapul szolgáló fájlrendszernek, ezért a következő makró segítségével tesztelnünk kell a gyors I / O küldési táblázat érvényességét a következő illesztőprogramhoz:

// Makró annak ellenőrzésére, hogy a FAST_IO_DISPATCH kezelési rutin érvényes -e -> _ Mezőnév! = NULL))

Gyors I / O átvitel

Az IRP kérésekkel ellentétben a gyors IO kérések átvitele hatalmas mennyiségű kódot igényel, mivel minden gyors I / O függvénynek saját paraméterei vannak. Az alábbiakban talál egy példát egy gyakori áthaladási funkcióra:

BOOLEAN FsFilterFastIoQueryBasicInfo (__ a PFILE_OBJECT FileObject, __in BOOLEAN Várjon, __out PFILE_BASIC_INFORMATION puffer, __out PIO_STATUS_BLOCK IoStatus, __in PDEVICE_OBJECT DeviceObject) (// // Pass a logika az ilyen típusú gyors I / O // PDEVICE_OBJECT nextDeviceObject = ((PFSFILTER_DEVICE_EXTENSION) DeviceObject -> DeviceExtension) -> AttachedToDeviceObject; PFAST_IO_DISPATCH fastIoDispatch = nextDeviceObject-> DriverObject -> FastIoDispatch; ha (VALID_FAST_IO_DISPATCH_HANDLER (fastIoDispatch, FastIoQueryBasicInfo)) (visszatérő (fastIoDispatch-> FastIoQueryBasicInfo) (FileObject, WAIT, puffer, IoStatus, nextDeviceObject);) visszatérési HAMIS;)

Gyors I / O leválasztó eszköz

Az eszköz leválasztása egy speciális gyors I / O kérés, amelyet a következő illesztőprogram hívása nélkül kell kezelnünk. Törölnünk kell a szűrőeszközt, miután levettük a fájlrendszer eszközkötegéről. Az alábbiakban példakódot talál, amely bemutatja, hogyan lehet egyszerűen kezelni ezt a kérést:

VOID FsFilterFastIoDetachDevice (__ a PDEVICE_OBJECT SourceDevice -ben, __ a PDEVICE_OBJECT TargetDevice -ben) (// Leválasztás a fájlrendszer köteteszköz -objektumáról. // IoDetachDevice (TargetDevice); IoDeleteDevice (SourceDevice)

Értesítés.c

a közös fájlrendszer vezérlőeszközökből és hangerő -eszközökből áll. A hangeszközök a tárolóeszköz -köteghez vannak csatlakoztatva. A vezérlőeszköz fájlrendszerként van regisztrálva.

A visszahívás minden aktív fájlrendszerre meghívásra kerül, valahányszor egy fájlrendszer aktívként regisztrálja magát, vagy törli a regisztrációját. Ez egy nagyszerű hely fájlrendszer szűrőeszközünk csatlakoztatásához vagy leválasztásához. Amikor a fájlrendszer aktiválja magát, akkor a vezérlőeszközéhez csatlakozunk (ha még nincs csatlakoztatva), felsoroljuk a hangerő -eszközeit, és hozzájuk is csatoljuk. A fájlrendszer deaktiválása közben megvizsgáljuk a vezérlőeszköz -veremét, megkeressük az eszközünket és leválasztjuk. A fájlrendszer -kötet -eszközökről való leválasztást a korábban leírt FsFilterFastIoDetachDevice rutinban végezzük.

// // Ez a rutin akkor kerül meghívásra, amikor egy fájlrendszer vagy regisztrálta magát, vagy // törli magát a regisztrációból aktív fájlrendszerként. VOID FsFilterNotificationCallback (__ a PDEVICE_OBJECT DeviceObject -ban, __ a BOOLEAN FsActive -ban) (// // A csatolás/ leválasztás kezelése az adott fájlrendszerből. // if (FsActive) (FsFilterAttachToFileSystemDevice (DeviceObjectsystem);

AttachDetach.c

Ez a fájl segítő rutinokat tartalmaz a csatlakoztatáshoz, leválasztáshoz és annak ellenőrzéséhez, hogy a szűrő már csatlakoztatva van -e.

Csatolás

A csatoláshoz meg kell hívnunk az IoCreateDevice -t, hogy új eszközobjektumot hozzunk létre eszközbővítménnyel, majd az eszközobjektum -zászlókat propagáljuk az eszközobjektumból, amelyhez csatolni szeretnénk (DO_BUFFERED_IO, DO_DIRECT_IO, FILE_DEVICE_SECURE_OPEN). Ezután meghívjuk az IoAttachDeviceToDeviceStackSafe -et egy hurokban, késleltetés esetén hiba esetén. Csatolási kérésünk sikertelen lehet, ha az eszközobjektum még nem fejezte be az inicializálást. Ez megtörténhet, ha megpróbáljuk felszerelni a csak hangerőszűrőt. A csatolás után a „csatolt” eszközobjektumot az eszközbővítménybe mentjük, és töröljük a DO_DEVICE_INITIALIZING jelzőt. Az alábbiakban láthatja az eszközbővítményt:

// // Struktúrák typedef structure _FSFILTER_DEVICE_EXTENSION (PDEVICE_OBJECT AttachedToDeviceObject;) FSFILTER_DEVICE_EXTENSION, * PFSFILTER_DEVICE_EXTENSION;

Leválás

A leválasztás meglehetősen egyszerű. Az eszközbővítményből megkapjuk az eszközt, amelyet csatoltunk, majd meghívjuk az IoDetachDevice és az IoDeleteDevice eszközöket.

void FsFilterDetachFromDevice (__ a PDEVICE_OBJECT DeviceObject-ban) (PFSFILTER_DEVICE_EXTENSION pDevExt = (PFSFILTER_DEVICE_EXTENSION) DeviceObject-> DeviceExtension; IoDetachDevice- pDeched

Annak ellenőrzése, hogy a készülékünk csatlakoztatva van -e

Annak ellenőrzéséhez, hogy csatlakoztatva vagyunk -e egy eszközhöz, vagy sem, ismételnünk kell az eszközköteget az IoGetAttachedDeviceReference és az IoGetLowerDeviceObject használatával, majd ott keresse meg eszközünket. Eszközünket azonosíthatjuk úgy, hogy összehasonlítjuk az eszközillesztő objektumot az illesztőprogram objektumával (g_fsFilterDriverObject).

// // Egyéb BOOLEAN FsFilterIsMyDeviceObject (__ a PDEVICE_OBJECT DeviceObject-ban) (return DeviceObject-> DriverObject == g_fsFilterDriverObject;)

Források és makefile

Az illesztőprogramot építő segédprogram, amely forrásokat és makefile fájlokat használ. Ezek a fájlok projektbeállításokat és forrásfájlneveket tartalmaznak.

A forrásfájl tartalma:

TARGETNAME = FsFilter TARGETPATH ​​= obj TARGETTYPE = DRIVER DRIVERTYPE = FS SOURCES = \ Main.c \ IrpDispatch.c \ AttachDetach.c \ Notification.c \ FastIo.c

A makefile szabványos:

Tartalmazza a $ (NTMAKEENV) \ makefile.def fájlt

Az MSVC makefile project build parancssor:

$ (WINDDK) \ bin \ setenv.bat $ (WINDDK) hívása chk wxp cd / d $ (ProjectDir) build.exe - I

Fájlrendszer szűrő illesztőprogram telepítése

SC.EXE áttekintés

Az illesztőprogram kezeléséhez az sc.exe -t (sc - service control) fogjuk használni. Ezt a parancssori segédprogramot használhatjuk a telepített szolgáltatások adatbázisának lekérdezéséhez vagy módosításához. Windows XP és újabb verziókkal szállítjuk, vagy megtalálhatja a Windows SDK / DDK -ban.

Telepítse a fájlrendszer szűrő illesztőprogramját

A fájlrendszer -szűrő illesztőprogramjának telepítéséhez hívja a következőt:

Sc create FsFilter type = filesys binPath = c: \ FSFilter.sys

Ez új szolgáltatásbejegyzést hoz létre FsFilter névvel, egy fájlrendszer -szolgáltatástípussal és egy c: \ FsFilter.sys bináris útvonallal.

Indítsa el a fájlrendszer szűrő illesztőprogramját

A fájlrendszer -szűrő -illesztőprogram elindításához hívja a következőt:

Sc indítsa el az FsFilter -t

Az FsFilter szolgáltatás elindul.

Állítsa le a fájlrendszer illesztőprogramját

A fájlrendszer -szűrő -illesztőprogram leállításához hívja a következőt:

Sc stop FsFilter

Az FsFilter szolgáltatás leáll.

Távolítsa el a fájlrendszer szűrő illesztőprogramját

A fájlrendszer -szűrő -illesztőprogram eltávolításához hívja a következőt:

Sc törölje az FsFilter -t

Ez a parancs utasítja a szervizkezelőt, hogy távolítsa el az FsFilter nevű szolgáltatásbejegyzést.

Eredményes szkript

Ezeket a parancsokat egyetlen kötegelt fájlba tehetjük, hogy megkönnyítsük az illesztőprogramok tesztelését. Az alábbiakban az Install.cmd parancsfájlunk tartalma található:

Sc create FsFilter type = filesys binPath = c: \ FsFilter.sys sc start FsFilter szünet sc leállítás FsFilter sc törlés FsFilter szünet

A fájlrendszer -szűrő -illesztőprogram mintájának futtatása

Most megmutatjuk, hogyan működik a fájlrendszer -szűrő. Ebből a célból a Sysinternals DebugView for Windows rendszert használjuk a hibakeresés kimenetének figyelésére, valamint az OSR eszközfát az eszközök és illesztőprogramok megtekintéséhez.

Először építsük meg a meghajtót. Ezt követően másoljuk a kapott FsFilter.sys fájlt és az Install.cmd parancsfájlt a C meghajtó gyökerébe.

Fájlrendszer szűrő illesztőprogram és a telepítő szkript a C meghajtón.

Most futtatjuk az Install.cmd fájlt, amely telepíti és elindítja a fájlrendszer illesztőprogramját, majd várja a felhasználói bevitelt.

A fájlrendszer -szűrő -illesztőprogram sikeresen telepítve és elindítva.

Most el kell indítanunk a DebugView segédprogramot.

Végre láthatjuk, hogy milyen fájlok nyíltak meg! Ez azt jelenti, hogy a szűrőnk működik. Most futtassa az eszközfa segédprogramot, és keresse meg az illesztőprogramot.

Szűrőillesztőnk az eszközfában.

Illesztőprogramunk különféle eszközöket készített. Nyissuk meg az NTFS illesztőprogramot, és nézzük meg az eszközfát:

Szűrőnk NTFS -hez van csatlakoztatva.

Most kapcsolódunk. Nézzünk meg más fájlrendszereket:

Szűrőnk más fájlrendszerekhez is csatlakozik.

Végül bármelyik billentyűt megnyomva folytathatjuk a telepítési szkriptünket, leállítva és eltávolítva az illesztőprogramot.

A fájlrendszer -szűrő illesztőprogramját leállítottuk és eltávolítottuk.

Az F5 billentyűvel frissíthetjük az eszközfa listát:

Szűrőeszközeink már nincsenek az eszközfában.

A fájlrendszer -szűrő illesztőprogramunk eltűnt, és a rendszer ugyanúgy fut, mint korábban.

Egyre fejlettebb

A fent leírt fájlrendszer -szűrő -illesztőprogram nagyon egyszerű, és számos olyan funkcióból hiányzik, amely egy közös illesztőprogramhoz szükséges. A cikk ötlete az volt, hogy megmutassa a fájlrendszer szűrőillesztőjének létrehozásának legegyszerűbb módját, ezért írtuk le ezt az egyszerű és könnyen érthető fejlesztési folyamatot. Írhat saját IRP_MJ_FILE_SYSTEM_CONTROL kezelőt az újonnan érkezett kötetek nyomon követésére.

És anélkül, hogy megvárnám a folytatást, amit ígért, As, úgy döntöttem, hogy önállóan telepítem ezt a víruskereső programot az otthoni számítógépemre, de néhány kétértelműségbe ütköztem. A telepítő letöltötte ezt a programot a www.avast.com/ru hivatalos weboldalról, majd telepítette ezt a programot otthoni számítógépére, és kiderült, hogy még regisztrálni kell. Megbirkóztam ezzel, most nem tudom kitalálni a beállításokat. Konkrétan a Sandbox funkció vagy a homokozó érdekel, sokan beszélnek róla most, ez egyfajta virtuális környezet, amelyben bármilyen gyanús programot futtathat anélkül, hogy félne, hogy valami esetén megfertőzi a teljes rendszert. Tehát a beállításokban van, de nem értem, hogy működik -e vagy sem. És még mindig nem találok olyan hasznos funkciót, mint a Scan indításkor, azt mondják, hogy ez egy nagyon jó megoldás a ransomware bannerekre, és ha engedélyezve van, az Avast ellenőrzi a rendszerindító fájlokat, mielőtt magát a Windows -t betölti. Hálás lennék minden segítségért. Maksim.

Az ingyenes Avast víruskereső telepítése

Ez a cikk a Melyik víruskereső a legjobb cikk folytatásaként íródott, ahol azt a kérdést rendeztük, hogy milyen elv szerint építi fel védelmét gyakorlatilag minden víruskereső, fizetős és ingyenes. Miben különböznek egymástól, és még sok más, például hogyan lehet a legjobban védelmet építeni otthoni számítógép a vírusoktól, és az antivíruson kívül milyen programokat kell ehhez használni. Itt megvizsgáljuk a letöltés és a letöltés módját telepítés ingyenes vírusirtó Avast... Elemezni fogjuk a program alapvető beállításait, karbantartását, vírusok keresését stb.

Megjegyzés: Barátok, ha bármilyen okból el szeretné távolítani az Avast víruskereső programot, használja a A fizetett és ingyenes antivírusok jó áttekintése várja Önt a "" cikkünkben

Alapvetően az Avast víruskereső programunk védelme nagyon erős Resident Protection -re épül. Ez egyfajta képernyőeszköz segítségével történik. Más szóval, a programmodulok folyamatosan jelen vannak a RAM -ban, és figyelnek mindent, ami a számítógépen történik.
Például a fájlrendszer képernyő a fő védelmi eszköz, és figyeli a fájlokkal végzett összes műveletet. Tűzfal - figyeli a hálózati tevékenységet, és leállítja az interneten keresztül próbálkozó vírusokat. Mail képernyő - Következik emailbenés természetesen ellenőrzi a számítógépre érkező összes betűt. Egy másik Avast program meglehetősen fejlett heurisztikus elemzéssel rendelkezik, hatékony a rootkitek ellen.

Itt egy ingyenes víruskereső az Ön számára!

Telepítés előtt AVAST! Ingyenes vírusirtó, tudnia kell, hogy csak otthon használhatja. A vírusirtót letöltheti a webhelyről www.avast.com/ru... Ha bármilyen problémája van az Avast víruskereső letöltésével, töltse le az "Avsoft" hivatalos forgalmazói oldalán, a következő címen:

www.avsoft.ru/avast/Free_Avast_home_edition_download.htm
Nos, letöltjük a víruskeresőt a hivatalos webhelyről
www.avast.com/ru-ru/free-antivirus-download. Kérlek, válassz Ingyenes vírusirtóés kattintson a letöltés gombra,

a megjelenő üdvözlő Avast Free Antivirus felhasználók ablakban kattintson a Letöltés most gombra.

Letöltve futtassa a program telepítőjét. A hetedik verziótól választhat a szokásos telepítés és a második víruskereső telepítése között. Ha a Kaspersky telepítve van első víruskeresőként, lehetséges az ütközés.

Kiválaszthatja az expressz telepítést.

Ha böngészőre van szüksége Google chrome, jelölje be a négyzetet. A telepítés egy -két percen belül megtörténik.
Telepítés befejezve. Nyomjuk készen.

Sokan, amikor a program főablakában vannak, meglepődnek, hogy az AVAST víruskeresőt regisztrálni kell, de valójában ez a helyzet. A regisztráció nagyon egyszerű. Kattintson a regisztrációhoz.

Az alapvető védelem kiválasztása AVAST! Ingyenes vírusirtó.

Nagyon egyszerű űrlapot töltünk ki. Nyomjuk meg a regisztrációt az ingyenes licencért.

A víruskereső verziónk regisztrálva van, hasonló levelet küldünk a postaládába.

Azonnal felajánljuk, hogy 20 napig átmenetileg átváltunk az Internet Security verziójára, és ezen időszak után, ha szeretné, visszatérhet az ingyenes ingyenes verzióhoz, vagy megvásárolhatja az Internet Security verziót. Mivel szeretné összehasonlítani, először használja az AVAST verziót! Ingyenes víruskereső, bármikor frissíthet fizetett verzióra. Kattintson a jobb felső sarokban lévő keresztre, és zárja be ezt az ablakot.

365 nap elteltével újra kell regisztrálnia, és ennyi. Mint látható, az ingyenes Avast víruskereső letöltése és telepítése elvileg nem nehéz, és nem nehéz regisztrálni.

Mondhatni, hogy minden nagyon kényelmes és érthető, még egy kezdő is ki tudja találni az összes vezérlőt. Most, barátok, figyelem, alapértelmezés szerint a program nagyon jól van konfigurálva, de vannak olyan beállítások, amelyekre érdemes figyelni. Az Avast automatikusan frissül, általában közvetlenül a számítógép bekapcsolása és az operációs rendszer indítása után.



Ha szeretné, bármikor ellenőrizheti, hogy vannak -e frissítések a hivatalos webhelyen. Válassza a Karbantartási frissítő szoftver lehetőséget. Frissítheti a víruskereső és -észlelő modult is.

Számos módja van a számítógép vírusellenőrzésére. Kattintson a gombra Vizsgálja át számítógépét... És válassza ki például a kívánt opciót
Express szkennelés- Az indítási objektumok és az operációs rendszer -partíció minden olyan területe, ahol a vírusok általában fészkelődnek, átvizsgálásra kerül.
Teljes számítógépes vizsgálat(Nincs hozzászólás)
Cserélhető média szkennelés- a flash meghajtókat, USB merevlemezeket és így tovább vizsgálja
Válassza ki a beolvasni kívánt mappát, maga válassza ki a mappát a vírusok keresésére.

Vagy kattintson jobb gombbal bármelyik mappára, és válassza a Beolvasás lehetőséget a legördülő menüből, majd ezt a mappát víruskeresést végez.

Szkennelés az operációs rendszer betöltésekor. Ha például hosszú ideig kell szörföznie az interneten, engedélyezheti a rendszerindító fájlok előzetes ellenőrzését a rendszer következő indításakor. Az Avast ellenőrizni fogja a rendes rendszerbetöltéssel kapcsolatos összes fájlt, megkerülve magát a Windowst, személy szerint én az Avast kivételével sehol nem vettem észre ilyen funkciót. Nagyon jó eszköz, amely segít a ransomware bannerek ellen, bár nem az esetek 100% -ában.

Avast víruskereső ablak, a Windows fő indítása előtt.

Automatikus homokozó (" AutoSandbox"). Gyanús alkalmazásokat futtat egy virtuális környezetben, amely természetesen elkülönül a normál rendszertől. Az ingyenes AVAST verziónkban! Ingyenes víruskereső, csak azok az alkalmazások indulnak el, amelyeket az Avast gyanúsnak tart, ha a program rosszindulatúnak bizonyul, a programablak egyszerűen bezáródik. Az AVAST fizetett verziói! Pro Antivirus és AVAST! Internet Security, tetszés szerint futtathat bármilyen alkalmazást ebben a környezetben.

Bizonyos webhelyek blokkolása a címük alapján. Ezt a funkciót szülői felügyeleti eszközként használhatja.

Minden más elérhető az ablakban Élő képernyőkés az ablak Beállítások... Mondhatjuk, hogy az átlagfelhasználónak meg kell elégednie az alapértelmezett beállításokkal, ha valamit nem ért, írjon.

A Windows fájlrendszer -szűrő -kezelő vagy a Windows -fájlrendszer -szűrő -kezelő az a folyamat, amely az fltmgr.sys rendszerfájl -kiterjesztéssel települ. Ez a folyamat a Windows operációs rendszer alapvető összetevője Rendszer és nem szüntethető meg, vagy nem tiltható le a futás minden alkalommal, amikor a Windows betöltődik az indítás során. A fájl fő felelőssége annak biztosítása, hogy a számítógépre telepített összes fájl a megfelelő könyvtárakban legyen tárolva. Ha ez a fájl hiányzik vagy sérült, akkor valószínűleg megjelenik a Halál kék képernyője; mint a felhasználók tapasztalták. Más esetekben a Windows nem töltődik be teljesen. Az újraindítás önmagában nem oldja meg a problémát, ha a fájl valóban hiányzik, vagy nem található az indításkor. A hiba mindaddig megjelenik, amíg a problémát meg nem oldják. A Windows XP vagy Windows 7 rendszerrel kompatibilis fltmgr.sys fájl hozzávetőleges mérete 124 800 bájt. A fájl az operációs rendszer rendszerkönyvtárában található.

Hogyan állíthatom le az fltmgr.sys fájlt, és hogyan kell leállítanom?

A legtöbb futó, nem rendszerszintű folyamat leállítható, mert nem vesznek részt az operációs rendszer futtatásában. fltmgr.sys... által használt Microsoft Windows, Ha leállítja fltmgr.sys, valószínűleg újraindul egy későbbi időpontban, akár a számítógép újraindítása, akár egy alkalmazás elindítása után. Megállni fltmgr.sys, véglegesen el kell távolítania azt az alkalmazást, amely ezt a folyamatot futtatja, ebben az esetben Microsoft Windows, a rendszeréből.

Az alkalmazások eltávolítása után érdemes átvizsgálni a Windows rendszerleíró adatbázisát, hogy nem maradt -e rajta alkalmazásnyom. Registry Reviver erre kiváló eszköz a ReviverSoft.

Ez vírus vagy más biztonsági probléma?

ReviverSoft biztonsági ítélet

Kérjük, tekintse át az fltmgr.sys webhelyet, és küldjön értesítést, amint megtörtént
felülvizsgálták.

Mi az a folyamat és hogyan befolyásolják a számítógépemet?

Egy folyamat általában egy telepített alkalmazás része, mint pl Microsoft Windows, vagy az operációs rendszere, amely felelős az alkalmazás funkcióinak futtatásáért. Egyes alkalmazások megkövetelik, hogy folyamatosan futjanak folyamatok, így például frissítéseket kereshetnek, vagy értesíthetnek, ha azonnali üzenetet kap. Néhány rosszul megírt alkalmazás számos olyan folyamatot futtat, amelyekre nincs szükség, és értékes feldolgozási energiát vesznek fel a számítógépen belül.

Ismeretes, hogy az fltmgr.sys rossz hatással van a számítógépem teljesítményére?

Nem kaptunk panaszt arra vonatkozóan, hogy ez a folyamat a szokásosnál nagyobb hatással lenne a számítógép teljesítményére. Ha rossz tapasztalatai vannak ezzel kapcsolatban, kérjük, ossza meg velünk az alábbi megjegyzésben, és tovább vizsgáljuk.



Tetszett a cikk? Oszd meg