本發明專利技術公開了一種文件打開方法及裝置,屬于數據處理技術領域。方法包括:捕獲文件打開動作,并獲取對應的原始文件系統設備對象和原始文件系統分發函數地址;直接向原始文件系統設備對象所在的文件系統發送文件打開請求,并由文件系統將文件打開請求傳遞給原始文件系統分發函數地址所對應的原始文件系統分發函數,由原始文件系統分發函數執行文件打開操作。本發明專利技術通過直接向原始文件系統設備對象所在的文件系統發送文件打開請求,由原始文件系統分發函數執行文件打開操作,實現對文件過濾驅動的穿透,從而避免了因每次打開文件都進行病毒掃描的不必要操作,且避免安裝多個殺毒軟件時,因重復打開文件進行掃描造成的系統負擔加重問題及兼容性問題。
【技術實現步驟摘要】
本專利技術涉及數據處理
,特別涉及一種文件打開方法及裝置。
技術介紹
隨著網絡的迅速發展,信息數量日益增加,存儲信息的各種電子文件數量也越來越多。無論是在日常的休閑娛樂中,還是在緊張忙碌的工作中,都常常會看到或用到各種各樣的文件,打開文件也幾乎成為了人們每天必不可少的事。現有的文件打開方式都是通過常規的Windows API (Application ProgrammingInterface,應用程序編程接口 )機制實現,且文件的打開操作會被文件過濾驅動捕獲和控制。其中,文件過濾驅動是一種Windows驅動程序,其依附在文件系統上,可以截獲系統對文件的訪問,并提供過濾控制等功能。在裝有殺毒軟件的機器上,文件打開動作被文件過濾驅動捕獲后,會激活一次病毒掃描。在實現本專利技術的過程中,專利技術人發現現有技術至少存在以下問題現有的文件打開方式中,文件打開時激活的病毒掃描在多數情況下是不必要的,且會加重系統負擔;另外,在多個殺毒軟件共存的情況下,其中一款殺毒軟件的文件打開操作會引起另一款殺毒軟件的病毒掃描,掃描又會打開文件,另一款殺毒會被激活,然后再去掃描,由此引發文件的重復打開,導致系統出現兼容性問題。
技術實現思路
為了在打開文件的同時,避免出現因文件的重復打開而引起的兼容性問題以及加重系統負擔的問題,本專利技術實施例提供了一種文件打開方法及裝置。所述技術方案如下一方面,提供了一種文件打開方法,所述方法包括捕獲文件打開動作,并獲取對應的原始文件系統設備對象和原始文件系統分發函數地址;直接向所述原始文件系統設備對象所在的文件系統發送文件打開請求,并由所述文件系統將所述文件打開請求傳遞給所述原始文件系統分發函數地址所對應的原始文件系統分發函數,由所述原始文件系統分發函數執行文件打開操作。進一步地,所述捕獲文件打開動作之前,還包括搜索32位動態鏈接庫文件的導入表,以預設的函數地址替換所述導入表中保存的函數地址;相應地,由所述原始文件系統分發函數執行文件打開操作時,具體包括由所述原始文件系統分發函數按照替換后的預設的函數地址執行文件打開操作。進一步地,所述捕獲文件打開動作之后,還包括記錄所述文件打開動作所對應的參數;相應地,由所述原始文件系統分發函數執行文件打開操作時,具體包括由所述原始文件系統分發函數按照記錄的參數執行文件打開操作。其中,所述獲取對應的原始文件系統設備對象,具體包括通過預先編寫的驅動程序在記錄有文件系統設備對象的VPB結構中查找對應的原始文件系統設備對象。所述獲取對應的原始文件系統分發函數地址,具體包括以BOOT方式啟動預先編寫的驅動程序,通過所述預先編寫的驅動程序獲取對應的原始文件系統分發函數地址。所述直接向所述原始文件系統設備對象所在的文件系統發送文件打開請求,具體包括使用IoCreateFileSpecifyDeviceObjectHint函數,并以所述原始文件系統設備對象為參數,將所述文件打開請求直接發送給所述原始文件系統設備對象所在的文件系統。另一方面,還提供了一種文件打開裝置,所述裝置包括捕獲模塊,用于捕獲文件打開動作;第一獲取模塊,用于在所述捕獲模塊捕獲到文件打開動作后,獲取對應的原始文件系統設備對象;第二獲取模塊,用于在所述捕獲模塊捕獲到文件打開動作后,獲取對應的原始文件系統分發函數地址;發送模塊,用于直接向所述第一獲取模塊獲取到的原始文件系統設備對象所在的文件系統發送文件打開請求,并由所述文件系統將所述文件打開請求傳遞給所述第二獲取模塊獲取到的原始文件系統分發函數地址所對應的原始文件系統分發函數;打開模塊,用于由所述原始文件系統分發函數執行文件打開操作。進一步地,所述裝置,還包括替換模塊,用于搜索32位動態鏈接庫文件的導入表,以預設的函數地址替換所述導入表中保存的函數地址;相應地,所述打開模塊,具體用于由所述原始文件系統分發函數按照所述替換模塊替換后的預設的函數地址執行文件打開操作。進一步地,所述裝置,還包括記錄模塊,用于記錄所述捕獲模塊捕獲到的文件打開動作所對應的參數;相應地,所述打開模塊,具體用于由所述原始文件系統分發函數按照所述記錄模塊記錄的參數進行文件打開操作。其中,所述第一獲取模塊,具體用于通過預先編寫的驅動程序在記錄有文件系統設備對象的VPB結構中查找對應的原始文件系統設備對象。所述第二獲取模塊,具體用于以BOOT方式啟動預先編寫的驅動程序,通過所述預先編寫的驅動程序獲取對應的原始文件系統分發函數地址。所述發送模塊,具體用于使用IoCreateFileSpecifyDeviceObjectHint函數,并以所述原始文件系統設備對象為參數,將所述文件打開請求直接發送給所述原始文件系統設備對象所在的文件系統。本專利技術實施例提供的技術方案帶來的有益效果是通過捕獲文件打開動作,直接向對應的原始文件系統設備對象所在的文件系統發送文件打開請求,由對應的原始文件系統分發函數進行文件打開操作,實現了對文件過濾驅動的穿透,從而避免了因每次打開文件都進行病毒掃描的不必要操作,且避免了在安裝多個殺毒軟件時,因重復打開文件進行掃描所造成的系統負擔加重問題及兼容性問題。附圖說明為了更清楚地說明本專利技術實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本專利技術的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。圖I是本專利技術實施例一提供的文件打開方法流程圖;圖2是本專利技術實施例二提供的文件打開方法流程圖;圖3是本專利技術實施例二提供的文件打開過程中的穿透流程圖;圖4是本專利技術實施例三提供的文件打開裝置的結構示意圖;圖5是本專利技術實施例三提供的另一種文件打開裝置的結構示意圖;圖6是本專利技術實施例三提供的又一種文件打開裝置的結構示意圖。具體實施例方式為使本專利技術的目的、技術方案和優點更加清楚,下面將結合附圖對本專利技術實施方式作進一步地詳細描述。實施例一由于現有的文件打開方式中,文件打開動作會被文件過濾驅動捕獲和控制,從而激活病毒掃描,該種操作不僅會增加系統的負擔,針對安裝多個殺毒軟件的情況,該種操作還可引發多個殺毒軟件的兼容性問題。對此,本實施例提供了一種文件打開方法,該方法通過穿透原有的文件打開方式中的文件過濾驅動操作,直接將文件打開請求發送到文件系統來執行打開操作,從而避免了因文件過濾驅動的控制所造成的系統負擔加重問題及兼容性問題。參見圖1,本實施例提供的方法流程具體如下101 :捕獲文件打開動作,并獲取對應的原始文件系統設備對象和原始文件系統分發函數地址;102:直接向原始文件系統設備對象所在的文件系統發送文件打開請求,并由文件系統將文件打開請求傳遞給原始文件系統分發函數地址所對應的原始文件系統分發函數;103 :由原始文件系統分發函數執行文件打開操作。進一步地,捕獲文件打開動作之前,還包括搜索32位動態鏈接庫文件的導入表,以預設的函數地址替換導入表中保存的函數地址;相應地,由原始文件系統分發函數執行文件打開操作時,具體包括由原始文件系統分發函數按照替換后的預設的函數地址執行文件打開操作。其中,32位動態連接庫文件的導入表中記錄了可執行文件需要使用到的系統API函數的地址,這個API函數的地址即為導入表中保存本文檔來自技高網...
【技術保護點】
一種文件打開方法,其特征在于,所述方法包括:捕獲文件打開動作,并獲取對應的原始文件系統設備對象和原始文件系統分發函數地址;直接向所述原始文件系統設備對象所在的文件系統發送文件打開請求,并由所述文件系統將所述文件打開請求傳遞給所述原始文件系統分發函數地址所對應的原始文件系統分發函數,由所述原始文件系統分發函數執行文件打開操作。
【技術特征摘要】
【專利技術屬性】
技術研發人員:謝飛,高小明,馬勁松,劉桂澤,
申請(專利權)人:騰訊科技深圳有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。