1)要求說明:
如一個C:\\1.exe,1.exe為一個空的exe檔案。上層軟體通過ShellExecute(0, "open", "C:\\1.exe", "", "", SW_SHOWNORMAL)執行。
在驅動中,進行檔案過濾,在執行時將其替換為指定的一個exe,以實作防護。(該EXE內容是從其他存盤區域讀取的,比如一個隱藏加密檔案。)
2)資料說明:
現有的網上資料,檔案重定向是將其替換到另外一個路徑,這不符合我的要求。
另外研究了PE管理器,PE管理器介紹:在執行一個PE檔案的時候,windows 并不在一開始就將整個檔案讀入記憶體的,而是采用與記憶體映射檔案類似的機制,也就是說,windows 裝載器在裝載的時候僅僅建立好虛擬地址和PE檔案之間的映射關系。
3)現有情況說明:
現在我的過濾驅動中:對1.exe的讀取進行IRP_MJ_READ-PostRead處理,通過呼叫我的介面,讀取指定存盤區域的內容,并將其拷出,發現資料是沒有問題的。然而檔案執行時,并沒有呼叫IRP_MJ_READ處理。經過濾發現:呼叫IRP_MJ_CREATE/IRP_MJ_QUERY_INFORMATION。
通過PE加載器對該EXE檔案在記憶體中啟動,因為程式是自解壓程式,該方式未能調通。
請問,有什么方式實作嘛,還請大神給予意見。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/246314.html
標籤:安全技術/病毒
上一篇:sql server 2008 r2 配置資料源問題。
下一篇:冠本,U盤啟動問題
