文件過濾驅動源碼
❶ 基於 IFS文件過濾驅動 編程
這個主要要看SDK,以及windows驅動編程
❷ 如何設計單機版的文件過濾驅動
透明指的是用戶在操作的時候,雖然後台在自動的進行加解密,但是用戶根本就不知道加密內的存在,就像中間容隔了一層透明的玻璃一樣。透明的好處在於不改變用戶的操作,一切都和加密之前一樣,甚至在有些企業安裝加密後都無需通知所有的員工,就像加密並不存在一樣,只是加密文件到了企業安全環境的外部才會發現文件無法打開。透明的程度也是加密軟體一個很重要的方面,例如:正在編輯一個Word文件時,能否拷貝或者使用其他程序來讀取這個文件,如果不能那麼這里就不夠透明,在一些PDM的文檔管理軟體中就是文件在一個應用程序打開狀態時另一個應用程序進行檢入。透明的程度越高,用戶使用時就越是和未加密時一樣,透明程序越低用戶就會發現有越多的操作受到限制,和加密前有較大的差異。
❸ 請教用文件過濾驅動的方式透明加密linux中的文件
文件系統過濾驅動是一種可選的,為文件系統提供具有附加值功能的驅動程序。文件系統回過濾驅動答是一種核心模式組件,它作為Windows NT執行體的一部分運行。 文件系統過濾驅動可以過濾一個或多個文件系統或文件系統卷的I/O操作。按不同的種類劃分,...
❹ 文件過濾驅動程序中volume和磁碟是什麼關系
DB庫、dat、cfg……多了,只需要研發者自行設置一種就可以。關鍵是你要做什麼?要解密?
❺ 文件過濾驅動和磁碟過濾驅動有什麼區別
神馬狗屁老師教的啊
❻ linux怎樣載入文件過濾驅動
文件系統過濾驅動是一種可選的,為文件系統提供具有附加值功能的驅動程序。文件系統過濾驅動是一種核心模式組件,它作為Windows NT執行體的一部分運行。
文件系統過濾驅動可以過濾一個或多個文件系統或文件系統卷的I/O操作。按不同的種類劃分,文件系統過濾驅動可以分成日誌記錄、系統監測、數據修改或事件預防幾類。通常,以文件系統過濾驅動為核心的應用程序有防毒軟體、加密程序、分級存儲管理系統等。
二、文件系統過濾驅動並不是設備驅動
設備驅動是用來控制特定硬體I/O設備的軟體組件。例如:DVD存儲設備驅動是一個DVD驅動。
相反,文件系統過濾驅動與一個或多個文件系統協同工作來處理文件I/O操作。這些操作包括:創建、打開、關閉、枚舉文件和目錄;獲取和設置文件、目錄、卷的相關信息;向文件中讀取或寫入數據。另外,文件系統過濾驅動必須支持文件系統特定的功能,例如緩存、鎖定、稀疏文件、磁碟配額、壓縮、安全、可恢復性、還原點和卷裝載等。
下面兩部分詳細的闡述了文件系統過濾驅動和設備驅動之間的相似點與不同點。
三、安裝文件系統過濾驅動
對於Windows XP和後續操作系統來說,可以通過INI文件或安裝應用程序來安裝文件系統過濾驅動(對於Windows 2000和更早的操作系統,過濾驅動通常通過服務控制管理器Service Control Manager來進行安裝)。
四、初始化文件系統過濾驅動
與設備驅動類似,文件系統過濾驅動也使用DriverEntry常式進行初始化工作。在驅動程序載入後,載入驅動相同的組件將通過調用驅動程序的 DriverEntry常式來對驅動程序進行初始化工作。對於文件系統過濾驅動來說,載入和初始化過濾驅動的系統組件為I/O管理器。
DriverEntry常式運行於系統線程上下文中,其IRQL = PASSIVE_LEVEL。本常式可分頁,詳細信息參見MmLockPagableCodeSection。
DriverEntry常式定義如下:
NTSTATUS
DriverEntry (
IN PDRIVER_OBJECT DriverObject,
IN PUNICODE_STRING RegistryPath
)
本常式有兩個輸入參數。第一個參數,DriverObject為系統在文件系統過濾驅動載入時所創建的驅動對象;第二個參數,RegistryPath為包含驅動程序注冊鍵路徑的Unicode字元串。
文件系統過濾驅動按如下順序執行DriverEntry常式:
01、創建控制設備對象:
文件系統過濾驅動的DriverEntry常式通常以創建控制設備對象作為該常式的起始。創建控制設備對象的目的在於允許應用程序即使在過濾驅動載入到文件系統或卷設備對象之前也能夠直接與過濾驅動進行通信。
注意:文件系統也會創建控制設備對象。當文件系統過濾驅動將其自身附加到文件系統之上時(而不是附加到某一特定文件系統卷),過濾驅動同樣將其自身附加到文件系統的控制設備對象之上。
在FileSpy驅動範例中,控制設備對象按如下方式創建:
RtlInitUnicodeString(&nameString, FILESPY_FULLDEVICE_NAME);
status = IoCreateDevice(
DriverObject, //DriverObject
0, //DeviceExtensionSize
&nameString, //DeviceName
FILE_DEVICE_DISK_FILE_SYSTEM, //DeviceType
FILE_DEVICE_SECURE_OPEN, //DeviceCharacteristics
FALSE, //Exclusive
&gControlDeviceObject); //DeviceObject
RtlInitUnicodeString(&linkString, FILESPY_DOSDEVICE_NAME);
status = IoCreateSymbolicLink(&linkString, &nameString);
與文件系統不同,文件系統過濾驅動並不是一定要為其控制設備對象命名。如果傳遞給DeviceName參數一個非空(Non-NULL)值,該值將作為控制設備對象的名稱。接下來,在前面的代碼範例中DriverEntry可以調用IoCreateSymbolicLink常式來將該對象的核心模式名稱與應用程序可見的用戶模式名稱關聯到一起(同樣可以通過調用IoRegisterDeviceInterface來使設備對象對應用程序可見)。
注意:由於控制設備對象是唯一不會附加到設備堆棧中的設備對象,因此控制設備對象是唯一的可安全命名的設備對象。由此,是否為文件系統過濾驅動的控制設備對象是否命名是可選的。
注意:文件系統的控制設備對象必須命名。過濾設備對象從不命名。
❼ 文件過濾驅動開發中,在IRP_MJ_WRITE 中獲取將要寫入文件的內容,請問這些內容是以什麼方式展示的呢如何
讀IRP的緩沖區啊。。。
❽ 怎麼用代碼實現WDM文件過濾驅動安裝
為了讓這個驅動被系統載入,必須創建一個inf文件。由於是使用現成的例子,因此這一步也可以省下來。直接右鍵點擊例子中的inf文件,在彈出的菜單中選擇「安裝」即可。
這里要注意的是,inf中的StartType參數,它可以控制驅動被載入的方式:
SERVICE_AUTO_START (2) 安全模式下不會自動載入 SERVICE_BOOT_START (0) 在系統安全模式下啟動時 驅動也會自動載入
SERVICE_DEMAND_START(3) 則驅動不會自動載入
因為是測試,我使用SERVICE_DEMAND_START,即由手動載入驅動。例子是miniFilter驅動,因此可以在命令提示行中用「fltmc load 驅動名稱」來載入,相應的卸載是「fltmc unload」。如果是其它驅動,則用"net start 驅動名稱"來載入,相應的卸載是"net stop 驅動名稱"。注意驅動名稱不是文件名,而是inf中[Settings]的ServiceName值。驅動要發布時,也可以通過CreateService & StartService API來動態安裝。
Inf文件的寫法,可以參考例子,或者拿現成的改一改。下面的是摘自驅動開發網的
XiangXiangRen整理的Inf文件,改起來比較方便,謝謝XiangXiangRen
❾ 《Windows文件系統過濾驅動開發教程(第二版)》最新txt全集下載
Windows文件系統過濾驅動開發教程(第二版) txt全集小說附件已上傳到網路網盤,點擊免費下載:
需要別的再問
❿ MFC基於單表代替密碼演算法的文件加密解密,哪個大神有現成的代碼啊!遇到瓶頸問題了。
lz別指望在這里折騰了。我之前做過加密軟體。1000一個點,不帶源代碼。是沒人給出成品的。
現在商用加密軟體一般採用兩種方式實現:
HOOK API;
文件過濾驅動。
這些技術一般程序員是沒有接觸的,所以估測沒人給你源碼。如果你可以考慮付費的話,請聯系我。