文件監(jiān)控處理方法、裝置及電子設備的制造方法
【專利摘要】本發(fā)明公開一種文件監(jiān)控處理方法、裝置及電子設備,能夠解決現(xiàn)有技術中驅(qū)動程序需要多次將文件信息發(fā)送至應用程序而影響系統(tǒng)運行效率的問題。所述方法包括:監(jiān)控文件的打開操作;當監(jiān)控到文件打開時,判斷該文件是否為可執(zhí)行文件;若為可執(zhí)行文件,則根據(jù)所述文件的文件消息摘要判斷所述文件是否發(fā)生變更,若發(fā)生變更,則將所述文件的文件信息發(fā)送至應用程序模塊。本發(fā)明適用于對文件的打開操作進行監(jiān)控處理。
【專利說明】
文件監(jiān)控處理方法、裝置及電子設備
技術領域
[0001]本發(fā)明涉及系統(tǒng)安全技術領域,尤其涉及一種文件監(jiān)控處理方法、裝置及電子設備。【背景技術】
[0002]隨著互聯(lián)網(wǎng)技術的發(fā)展,病毒、木馬等惡意程序技術層出不窮,殺毒安全軟件應對的問題也越來越多。在電子設備系統(tǒng)中,每時每刻都有文件讀寫等文件操作行為,包括惡意程序的文件操作、用戶軟件的文件操作等,這些操作行為都需要受到殺毒安全軟件的監(jiān)控, 判斷是否為惡意行為,并做對應的攔截或放行。據(jù)不完全統(tǒng)計,系統(tǒng)中每一秒鐘文件讀寫操作行為就會有1萬次左右,這1萬次都受到殺毒安全軟件的文件監(jiān)控處理。
[0003]目前,在現(xiàn)有的文件監(jiān)控系統(tǒng)中,殺毒安全軟件包括驅(qū)動程序與應用程序,驅(qū)動程序主要負責文件監(jiān)控,應用程序主要負責邏輯判斷和界面展示,驅(qū)動程序?qū)崿F(xiàn)文件的打開監(jiān)控,即可以實現(xiàn)對文件的各種行為監(jiān)控。具體的文件監(jiān)控處理流程為:綁定系統(tǒng)的文件系統(tǒng)設備驅(qū)動,然后分發(fā)IRP_MJ_CREATE例程函數(shù),定義例程函數(shù)的為IrpCreate,每當系統(tǒng)中任意文件被任意程序打開的時候,都會經(jīng)由IrpCreate例程函數(shù)處理,攔截或放行只需要在 IrpCreate函數(shù)中處理即可,在函數(shù)中可獲取打開的文件路徑,把文件路徑等文件信息上拋到殺毒應用程序,由應用程序負責判斷文件狀態(tài)等邏輯,然后應用程序確定好文件狀態(tài)后, 把信息返回給驅(qū)動程序,由驅(qū)動程序處理是攔截或放行。如果攔截,則在IrpCreate函數(shù)中, 調(diào)用1CompleteRequest函數(shù)完成IrpCreate函數(shù)例程,并返回給windows文件系統(tǒng);這樣 windows文件系統(tǒng)得知文件打開處理已完成,就不會往磁盤驅(qū)動真正打開文件;這樣打開文件操作就會中止。如果放行,貝函數(shù)中,不做任何處理,返回給windows文件系統(tǒng),由文件系統(tǒng)通知磁盤驅(qū)動打開文件。
[0004]以上是對一個文件的一次打開請求所進行的文件監(jiān)控處理,如果單位時間內(nèi)有多次文件讀寫操作行為,則驅(qū)動程序需要多次將文件信息發(fā)送至應用程序,從而影響系統(tǒng)的運行效率,甚至會造成系統(tǒng)卡慢。
【發(fā)明內(nèi)容】
[0005]有鑒于此,本發(fā)明實施例提供一種文件監(jiān)控處理方法、裝置及電子設備,能夠根據(jù)文件類型及路徑?jīng)Q定是否將文件信息發(fā)送至應用程序,從而降低向應用程序發(fā)送數(shù)據(jù)的頻率,提高系統(tǒng)的運行效率,提升系統(tǒng)性能。
[0006]第一方面,本發(fā)明實施例提供一種文件監(jiān)控處理方法,所述方法應用于驅(qū)動程序模塊,所述方法包括:
[0007]監(jiān)控文件的打開操作;
[0008]當監(jiān)控到文件打開時,判斷所述文件是否為可執(zhí)行文件;
[0009]若所述文件為可執(zhí)行文件,則根據(jù)所述文件的文件消息摘要判斷所述文件是否發(fā)生變更,若發(fā)生變更,則將所述文件的文件信息發(fā)送至應用程序模塊。
[0010]結合第一方面,在第一方面的第一種實施方式中,所述根據(jù)所述文件的文件消息摘要判斷所述文件是否發(fā)生變更包括:
[0011]獲取所述文件的文件路徑和文件內(nèi)容;
[0012]在文件信息鏈表中查找所述文件路徑,其中,所述文件信息鏈表中保存有文件路徑與文件消息摘要的對應關系;
[0013]當查找到所述文件路徑時,根據(jù)所述文件內(nèi)容計算所述文件的文件消息摘要;
[0014]將計算得到的文件消息摘要與所述文件信息鏈表中保存的與所述文件路徑對應的文件消息摘要進行比較,若二者不一致,則確定所述文件發(fā)生變更,否則確定所述文件未發(fā)生變更。
[0015]結合第一方面,在第一方面的第二種實施方式中,所述方法還包括:
[0016]若所述文件為非可執(zhí)行文件,則不將所述文件的文件信息發(fā)送至應用程序模塊。
[0017]結合第一方面的第一種實施方式,在第一方面的第三種實施方式中,所述方法還包括:
[0018]當沒有查找到所述文件路徑時,根據(jù)所述文件內(nèi)容計算所述文件的文件消息摘要,并將所述文件路徑以及所述文件的文件消息摘要的對應關系保存至所述文件信息鏈表中;
[0019]將所述文件的文件信息發(fā)送至應用程序模塊。
[0020]結合第一方面的第一種實施方式,在第一方面的第四種實施方式中,所述方法還包括:
[0021]若計算得到的文件消息摘要與所述文件信息鏈表中保存的與所述文件路徑對應的文件消息摘要不一致,則不將所述文件的文件信息發(fā)送至應用程序模塊。
[0022]結合第一方面的第一種實施方式,在第一方面的第五種實施方式中,所述方法還包括:
[0023]當計算得到的文件消息摘要與所述文件信息鏈表中保存的與所述文件路徑對應的文件消息摘要不一致時,將所述文件信息鏈表中保存的與所述文件路徑對應的文件消息摘要修改為所述計算得到的文件消息摘要。
[0024]第二方面,本發(fā)明實施例提供一種文件監(jiān)控處理裝置,所述裝置位于驅(qū)動程序模塊,所述裝置包括:
[0025]監(jiān)控單元,用于監(jiān)控文件的打開操作;
[0026]第一判斷單元,用于當所述監(jiān)控單元監(jiān)控到文件打開時,判斷所述文件是否為可執(zhí)行文件;
[0027]第二判斷單元,用于當所述第一判斷單元判斷所述文件為可執(zhí)行文件時,根據(jù)所述文件的文件消息摘要判斷所述文件是否發(fā)生變更;
[0028]第一處理單元,用于當所述第二判斷單元判斷所述文件發(fā)生變更時,將所述文件的文件信息發(fā)送至應用程序模塊。
[0029]結合第二方面,在第二方面的第一種實施方式中,所述第二判斷單元包括:
[0030]獲取子單元,用于獲取所述文件的文件路徑和文件內(nèi)容;
[0031]查找子單元,用于在文件信息鏈表中查找所述獲取子單元獲取到的所述文件路徑,其中,所述文件信息鏈表中保存有文件路徑與文件消息摘要的對應關系;
[0032]計算子單元,用于當所述查找子單元查找到所述文件路徑時,根據(jù)所述獲取子單元獲取到的所述文件內(nèi)容計算所述文件的文件消息摘要;
[0033]判斷子單元,用于將所述計算子單元計算得到的文件消息摘要與所述文件信息鏈表中保存的與所述文件路徑對應的文件消息摘要進行比較,若二者不一致,則確定所述文件發(fā)生變更,否則確定所述文件未發(fā)生變更。
[0034]結合第二方面,在第二方面的第二種實施方式中,所述裝置還包括:
[0035]第二處理單元,用于當所述第一判斷單元判斷所述文件為非可執(zhí)行文件時,不將所述文件的文件信息發(fā)送至應用程序模塊。
[0036]結合第二方面的第一種實施方式,在第二方面的第三種實施方式中,所述計算子單元,還用于當所述查找子單元沒有查找到所述文件路徑時,根據(jù)所述獲取子單元獲取到的所述文件內(nèi)容計算所述文件的文件消息摘要;[〇〇37] 則所述裝置還包括:
[0038]保存單元,用于將所述文件路徑以及所述文件的文件消息摘要的對應關系保存至所述文件信息鏈表中;[〇〇39]則所述第一處理單元,還用于將所述文件的文件信息發(fā)送至應用程序模塊。[〇〇4〇]結合第二方面的第一種實施方式,在第二方面的第四種實施方式中,所述第二處理單元,還用于當計算得到的文件消息摘要與所述文件信息鏈表中保存的與所述文件路徑對應的文件消息摘要一致時,不將所述文件的文件信息發(fā)送至應用程序模塊。
[0041]結合第二方面的第一種實施方式,在第二方面的第五種實施方式中,所述裝置還包括:
[0042]修改單元,用于當計算得到的文件消息摘要與所述文件信息鏈表中保存的與所述文件路徑對應的文件消息摘要不一致時,將所述文件信息鏈表中保存的與所述文件路徑對應的文件消息摘要修改為所述計算得到的文件消息摘要。[0〇43]第三方面,本發(fā)明實施例提供一種電子設備,所述電子設備包括:殼體、處理器、存儲器、電路板和電源電路,其中,電路板安置在殼體圍成的空間內(nèi)部,處理器和存儲器設置在電路板上;電源電路,用于為上述電子設備的各個電路或器件供電;存儲器用于存儲可執(zhí)行程序代碼;處理器通過讀取存儲器中存儲的可執(zhí)行程序代碼來運行與可執(zhí)行程序代碼對應的程序,用于執(zhí)行前述任一所述的文件監(jiān)控處理方法。
[0044]本發(fā)明實施例提供的一種文件監(jiān)控處理方法、裝置及電子設備,當監(jiān)控到文件打開且所述文件為可執(zhí)行文件時,根據(jù)所述文件的文件消息摘要判斷所述文件是否發(fā)生變更,若發(fā)生變更,則將所述文件的文件信息發(fā)送至應用程序模塊。與現(xiàn)有技術相比,本發(fā)明能夠根據(jù)文件的文件消息摘要決定是否將所述文件的文件信息發(fā)送至應用程序,而不需要將所有文件的文件信息發(fā)送至應用程序,從而可以降低向應用程序發(fā)送數(shù)據(jù)的頻率,提高系統(tǒng)的運行效率,提升系統(tǒng)性能。【附圖說明】
[0045]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其它的附圖。
[0046]圖1為本發(fā)明文件監(jiān)控處理方法實施例一的流程圖;[〇〇47]圖2為本發(fā)明文件監(jiān)控處理方法實施例二的流程圖;[〇〇48]圖3為本發(fā)明文件監(jiān)控處理裝置實施例一的結構示意圖;
[0049]圖4為本發(fā)明文件監(jiān)控處理裝置實施例二的結構示意圖;
[0050]圖5為本發(fā)明電子設備實施例的結構示意圖?!揪唧w實施方式】
[0051]下面結合附圖對本發(fā)明實施例進行詳細描述。
[0052]應當明確,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其它實施例,都屬于本發(fā)明保護的范圍。[〇〇53]圖1為本發(fā)明文件監(jiān)控處理方法實施例一的流程圖,所述方法應用于驅(qū)動程序模塊,如圖1所示,本實施例的方法可以包括:[〇〇54]步驟101、監(jiān)控文件的打開操作。
[0055]本實施例中,驅(qū)動程序在對文件進行文件讀、文件寫、文件設置等操作時,都會首先打開文件,因此,驅(qū)動程序可以通過監(jiān)控文件的打開操作,實現(xiàn)對文件的各種行為監(jiān)控。
[0056]步驟102、當監(jiān)控到文件打開時,判斷所述文件是否為可執(zhí)行文件。
[0057]本實施例中,可以根據(jù)所述文件的文件頭判斷所述文件是否為可執(zhí)行文件。其中, 文件頭是一個MAGE_DOS_HEADER結構,有一個e_magic字段保存有可執(zhí)行文件標識,如果該 ejnagic字段的值為‘MZ’,說明該文件為可執(zhí)行文件,否則說明該文件為非可執(zhí)行文件。
[0058]步驟103、若所述文件為可執(zhí)行文件,則根據(jù)所述文件的文件消息摘要判斷所述文件是否發(fā)生變更,若發(fā)生變更,則將所述文件的文件信息發(fā)送至應用程序模塊。
[0059]本實施例中,當根據(jù)所述文件的文件消息摘要判斷所述文件發(fā)生變更時,此次文件打開行為的文件信息可以上拋,即可以將該文件的文件信息發(fā)送至應用程序模塊。
[0060]本實施例,當監(jiān)控到文件打開且所述文件為可執(zhí)行文件時,根據(jù)所述文件的文件消息摘要判斷所述文件是否發(fā)生變更,若發(fā)生變更,則將所述文件的文件信息發(fā)送至應用程序模塊。與現(xiàn)有技術相比,本發(fā)明能夠根據(jù)文件的文件消息摘要決定是否將所述文件的文件信息發(fā)送至應用程序,而不需要將所有文件的文件信息發(fā)送至應用程序,從而可以降低向應用程序發(fā)送數(shù)據(jù)的頻率,提高系統(tǒng)的運行效率,提升系統(tǒng)性能。
[0061]圖2為本發(fā)明文件監(jiān)控處理方法實施例二的流程圖,所述方法應用于驅(qū)動程序模塊,如圖2所示,本實施例的方法可以包括:[〇〇62]步驟201、監(jiān)控文件的打開操作。
[0063]本實施例中,監(jiān)控文件的打開操作的過程和上述方法實施例的步驟101類似,此處不再贅述。[〇〇64]步驟202、當監(jiān)控到文件打開時,判斷所述文件是否為可執(zhí)行文件。
[0065]本實施例中,判斷所述文件是否為可執(zhí)行文件的過程和上述方法實施例的步驟 102類似,此處不再贅述。
[0066]若所述文件為可執(zhí)行文件,則進入步驟203;若所述文件為非可執(zhí)行文件,則進入步驟210。[〇〇67]步驟203、獲取所述文件的文件路徑和文件內(nèi)容。
[0068]本實施例中,可以獲取所述可執(zhí)行文件的文件路徑,進而根據(jù)所述文件路徑讀取所述文件的文件內(nèi)容。
[0069]步驟204、在文件信息鏈表中查找所述文件路徑,其中,所述文件信息鏈表中保存有文件路徑與文件消息摘要的對應關系。
[0070]本實施例中,在文件信息鏈表中,文件路徑與文件消息摘要一一對應,文件路徑和文件消息摘要可以作為一個節(jié)點保存在所述文件信息鏈表中。若查找到所述文件路徑,則進入步驟205;若沒有查找到所述文件路徑,則進入步驟209。
[0071]步驟205、根據(jù)所述文件內(nèi)容計算所述文件的文件消息摘要。
[0072]本實施例中,根據(jù)步驟203獲取到的文件內(nèi)容計算該文件的文件信息摘要,例如 MD5 值。
[0073]步驟206、將計算得到的文件消息摘要與所述文件信息鏈表中保存的與所述文件路徑對應的文件消息摘要進行比較。[〇〇74] 若二者不一致,則進入步驟207和步驟208;若二者一致,則進入步驟210。[〇〇75]步驟207、將所述文件的文件信息發(fā)送至應用程序模塊。[〇〇76]本實施例中,當計算得到的文件消息摘要與所述文件信息鏈表中保存的與所述文件路徑對應的文件消息摘要不一致時,說明該文件已經(jīng)發(fā)生更改,此次文件打開行為的文件信息可以上拋,即可以將該文件的文件信息發(fā)送至應用程序模塊。
[0077]步驟208、將所述文件信息鏈表中保存的與所述文件路徑對應的文件消息摘要修改為所述計算得到的文件消息摘要。[〇〇78]本實施例中,由于該文件已經(jīng)發(fā)生更改,該文件的文件信息摘要也隨之發(fā)生變化, 因此,需要對文件信息鏈表中保存的與文件路徑對應的文件信息摘要進行更新,以便下次對該文件進行監(jiān)控處理時,所述文件信息鏈表中保存的與文件路徑對應的文件信息摘要為最新的文件信息摘要,保證監(jiān)控處理結果的準確性。
[0079]步驟209、根據(jù)所述文件內(nèi)容計算所述文件的文件消息摘要,并將所述文件路徑以及所述文件的文件消息摘要的對應關系保存至所述文件信息鏈表中,以及將所述文件的文件信息發(fā)送至應用程序模塊。
[0080]本實施例中,由于所述文件信息鏈表中沒有所述文件路徑,為了保證下次對該文件的監(jiān)控處理結果的準確性,需要將計算出的所述文件的文件消息摘要首次保存在所述文件信息鏈表中,以便下次對該文件進行監(jiān)控處理時使用。
[0081]步驟210、不將所述文件的文件信息發(fā)送至應用程序模塊。
[0082]本實施例中,當該文件為非可執(zhí)行文件,由于非可執(zhí)行文件是一些數(shù)據(jù)文件,即使木馬病毒等惡意程序讀寫非可執(zhí)行文件,也不會造成用戶系統(tǒng)的破壞,因此,不需要將所述文件的文件信息發(fā)送至應用程序模塊;當計算得到的文件消息摘要與所述文件信息鏈表中保存的與所述文件路徑對應的文件消息摘要一致時,說明該文件未發(fā)生更改,由于一個可執(zhí)行文件在未發(fā)生任何更改時,驅(qū)動程序已經(jīng)將所述文件的文件信息發(fā)送至應用程序模塊,被應用程序模塊查詢過一次文件狀態(tài)了,因此,不需要將相同的文件的文件信息再發(fā)送至應用程序模塊了。
[0083]本實施例,通過判斷監(jiān)控到的文件是否為可執(zhí)行文件,以及當監(jiān)控到的文件為可執(zhí)行文件時,查找文件信息鏈表中是否有該文件的文件路徑,且當有該文件的文件路徑時, 將計算得到的所述文件的文件消息摘要與所述文件信息鏈表中保存的與所述文件路徑對應的文件消息摘要進行比較,只有當監(jiān)控到的文件為可執(zhí)行文件且文件信息鏈表中沒有該文件的文件路徑,或者當監(jiān)控到的文件為可執(zhí)行文件且文件信息鏈表中有該文件的文件路徑且計算得到的所述文件的文件消息摘要與所述文件信息鏈表中保存的與所述文件路徑對應的文件消息摘要不一致時,才將所述文件的文件信息發(fā)送至應用程序模塊。與現(xiàn)有技術相比,本發(fā)明能夠根據(jù)文件類型及路徑?jīng)Q定是否將文件的文件信息發(fā)送至應用程序,而不需要將所有文件的文件信息發(fā)送至應用程序,從而可以降低向應用程序發(fā)送數(shù)據(jù)的頻率,提高系統(tǒng)的運行效率,提升系統(tǒng)性能。
[0084]圖3為本發(fā)明文件監(jiān)控處理裝置實施例一的結構示意圖,所述裝置位于驅(qū)動程序模塊,如圖3所示,本實施例的裝置可以包括:監(jiān)控單元11、第一判斷單元12、第二判斷單元 13和第一處理單元14,其中,監(jiān)控單元11,用于監(jiān)控文件的打開操作;第一判斷單元12,用于當所述監(jiān)控單元11監(jiān)控到文件打開時,判斷所述文件是否為可執(zhí)行文件;第二判斷單元13, 用于當所述第一判斷單元12判斷所述文件為可執(zhí)行文件時,根據(jù)所述文件的文件消息摘要判斷所述文件是否發(fā)生變更;第一處理單元14,用于當所述第二判斷單元13判斷所述文件發(fā)生變更時,將所述文件的文件信息發(fā)送至應用程序模塊。
[0085]本實施例的裝置,可以用于執(zhí)行圖1所示方法實施例的技術方案,其實現(xiàn)原理和技術效果類似,此處不再贅述。[〇〇86]圖4為本發(fā)明文件監(jiān)控處理裝置實施例二的結構示意圖,如圖4所示,本實施例的裝置在圖3所示裝置結構的基礎上,進一步地,所述第二判斷單元13包括:
[0087]獲取子單元130,用于獲取文件的文件路徑和文件內(nèi)容;
[0088]查找子單元131,用于在文件信息鏈表中查找獲取子單元130獲取到的所述文件路徑,其中,所述文件信息鏈表中保存有文件路徑與文件消息摘要的對應關系;
[0089]計算子單元132,用于當所述查找子單元132查找到所述文件路徑時,根據(jù)獲取子單元130獲取到的所述文件內(nèi)容計算所述文件的文件消息摘要;
[0090]判斷子單元133,用于將計算子單元132計算得到的文件消息摘要與所述文件信息鏈表中保存的與所述文件路徑對應的文件消息摘要進行比較,若二者不一致,則確定所述文件發(fā)生變更,否則確定所述文件未發(fā)生變更。
[0091]所述裝置還包括:第二處理單元15,用于當所述第一判斷單元12判斷所述文件為非可執(zhí)行文件時,不將所示文件的文件信息發(fā)送至應用程序模塊。
[0092]所述計算子單元132,還用于當所述查找子單元132沒有查找到所述文件路徑時, 根據(jù)獲取子單元130獲取到的所述文件內(nèi)容計算所述文件的文件消息摘要;則所述裝置還包括:保存單元16,用于將所述文件路徑以及所述文件的文件消息摘要的對應關系保存至所述文件信息鏈表中;則所述第一處理單元14,還用于將所述文件的文件信息發(fā)送至應用程序模塊。[〇〇93]所述第二處理單元15,還用于當計算得到的文件消息摘要與所述文件信息鏈表中保存的與所述文件路徑對應的文件消息摘要一致時,不將所述文件的文件信息發(fā)送至應用程序模塊。
[0094]所述裝置還包括:修改單元17,用于當計算得到的文件消息摘要與所述文件信息鏈表中保存的與所述文件路徑對應的文件消息摘要不一致時,將所述文件信息鏈表中保存的與所述文件路徑對應的文件消息摘要修改為所述計算得到的文件消息摘要。
[0095]本實施例的裝置,可以用于執(zhí)行圖1或圖2所示方法實施例的技術方案,其實現(xiàn)原理和技術效果類似,此處不再贅述。[〇〇96]需要說明的是,在本文中,諸如第一和第二等之類的關系術語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關系或者順序。而且,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。
[0097]本說明書中的各個實施例均采用相關的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。[〇〇98]尤其,對于裝置實施例而言,由于其基本相似于方法實施例,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。
[0099]在流程圖中表示或在此以其他方式描述的邏輯和/或步驟,例如,可以被認為是用于實現(xiàn)邏輯功能的可執(zhí)行指令的定序列表,可以具體實現(xiàn)在任何計算機可讀介質(zhì)中,以供指令執(zhí)行系統(tǒng)、裝置或設備(如基于計算機的系統(tǒng)、包括處理器的系統(tǒng)或其他可以從指令執(zhí)行系統(tǒng)、裝置或設備取指令并執(zhí)行指令的系統(tǒng))使用,或結合這些指令執(zhí)行系統(tǒng)、裝置或設備而使用。就本說明書而言,〃計算機可讀介質(zhì)〃可以是任何可以包含、存儲、通信、傳播或傳輸程序以供指令執(zhí)行系統(tǒng)、裝置或設備或結合這些指令執(zhí)行系統(tǒng)、裝置或設備而使用的裝置。計算機可讀介質(zhì)的更具體的示例(非窮盡性列表)包括以下:具有一個或多個布線的電連接部(電子裝置),便攜式計算機盤盒(磁裝置),隨機存取存儲器(RAM),只讀存儲器 (ROM),可擦除可編輯只讀存儲器(EPROM或閃速存儲器),光纖裝置,以及便攜式光盤只讀存儲器(CDR0M)。另外,計算機可讀介質(zhì)甚至可以是可在其上打印所述程序的紙或其他合適的介質(zhì),因為可以例如通過對紙或其他介質(zhì)進行光學掃描,接著進行編輯、解譯或必要時以其他合適方式進行處理來以電子方式獲得所述程序,然后將其存儲在計算機存儲器中。
[0100]應當理解,本發(fā)明的各部分可以用硬件、軟件、固件或它們的組合來實現(xiàn)。
[0101]在上述實施方式中,多個步驟或方法可以用存儲在存儲器中且由合適的指令執(zhí)行系統(tǒng)執(zhí)行的軟件或固件來實現(xiàn)。例如,如果用硬件來實現(xiàn),和在另一實施方式中一樣,可用本領域公知的下列技術中的任一項或他們的組合來實現(xiàn):具有用于對數(shù)據(jù)信號實現(xiàn)邏輯功能的邏輯門電路的離散邏輯電路,具有合適的組合邏輯門電路的專用集成電路,可編程門陣列(PGA),現(xiàn)場可編程門陣列(FPGA)等。
[0102]本發(fā)明實施例還提供一種電子設備,所述電子設備包含前述前述任一實施例所述的裝置。
[0103]圖5為本發(fā)明電子設備實施例的結構示意圖,可以實現(xiàn)本發(fā)明圖1或圖2所示實施例的流程,如圖5所示,上述電子設備可以包括:殼體31、處理器32、存儲器33、電路板34和電源電路35,其中,電路板34安置在殼體31圍成的空間內(nèi)部,處理器32和存儲器33設置在電路板34上;電源電路35,用于為上述電子設備的各個電路或器件供電;存儲器33用于存儲可執(zhí)行程序代碼;處理器32通過讀取存儲器33中存儲的可執(zhí)行程序代碼來運行與可執(zhí)行程序代碼對應的程序,用于執(zhí)行前述任一所述的文件監(jiān)控處理方法。[〇1〇4] 處理器32對上述步驟的具體執(zhí)行過程以及處理器32通過運行可執(zhí)行程序代碼來進一步執(zhí)行的步驟,可以參見本發(fā)明圖1或圖2所示實施例的描述,在此不再贅述。
[0105]該電子設備以多種形式存在,包括但不限于:
[0106](1)移動通信設備:這類設備的特點是具備移動通信功能,并且以提供話音、數(shù)據(jù)通信為主要目標。這類終端包括:智能手機(例如iPhone)、多媒體手機、功能性手機,以及低端手機等。
[0107](2)超移動個人計算機設備:這類設備屬于個人計算機的范疇,有計算和處理功能,一般也具備移動上網(wǎng)特性。這類終端包括:PDA、MID和UMPC設備等,例如iPad。
[0108](3)便攜式娛樂設備:這類設備可以顯示和播放多媒體內(nèi)容。該類設備包括:音頻、 視頻播放器(例如iPod),掌上游戲機,電子書,以及智能玩具和便攜式車載導航設備。
[0109](4)服務器:提供計算服務的設備,服務器的構成包括處理器、硬盤、內(nèi)存、系統(tǒng)總線等,服務器和通用的計算機架構類似,但是由于需要提供高可靠的服務,因此在處理能力、穩(wěn)定性、可靠性、安全性、可擴展性、可管理性等方面要求較高。
[0110](5)其他具有數(shù)據(jù)交互功能的電子設備。
[0111]本技術領域的普通技術人員可以理解實現(xiàn)上述實施例方法攜帶的全部或部分步驟是可以通過程序來指令相關的硬件完成,所述的程序可以存儲于一種計算機可讀存儲介質(zhì)中,該程序在執(zhí)行時,包括方法實施例的步驟之一或其組合。
[0112]為了描述的方便,描述以上裝置是以功能分為各種單元/模塊分別描述。當然,在實施本發(fā)明時可以把各單元/模塊的功能在同一個或多個軟件和/或硬件中實現(xiàn)。
[0113]通過以上的實施方式的描述可知,本領域的技術人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件平臺的方式來實現(xiàn)?;谶@樣的理解,本發(fā)明的技術方案本質(zhì)上或者說對現(xiàn)有技術做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品可以存儲在存儲介質(zhì)中,如R0M/RAM、磁碟、光盤等,包括若干指令用以使得一臺計算機設備 (可以是個人計算機,服務器,或者網(wǎng)絡設備等)執(zhí)行本發(fā)明各個實施例或者實施例的某些部分所述的方法。
【主權項】
1.一種文件監(jiān)控處理方法,其特征在于,所述方法應用于驅(qū)動程序模塊,所述方法包 括:監(jiān)控文件的打開操作;當監(jiān)控到文件打開時,判斷所述文件是否為可執(zhí)行文件;若所述文件為可執(zhí)行文件,則根據(jù)所述文件的文件消息摘要判斷所述文件是否發(fā)生變 更,若發(fā)生變更,則將所述文件的文件信息發(fā)送至應用程序模塊。2.根據(jù)權利要求1所述的文件監(jiān)控處理方法,其特征在于,所述根據(jù)所述文件的文件消 息摘要判斷所述文件是否發(fā)生變更包括:獲取所述文件的文件路徑和文件內(nèi)容;在文件信息鏈表中查找所述文件路徑,其中,所述文件信息鏈表中保存有文件路徑與 文件消息摘要的對應關系;當查找到所述文件路徑時,根據(jù)所述文件內(nèi)容計算所述文件的文件消息摘要;將計算得到的文件消息摘要與所述文件信息鏈表中保存的與所述文件路徑對應的文 件消息摘要進行比較,若二者不一致,則確定所述文件發(fā)生變更,否則確定所述文件未發(fā)生變更。3.根據(jù)權利要求1或2所述的文件監(jiān)控處理方法,其特征在于,所述方法還包括:若所述文件為非可執(zhí)行文件,則不將所述文件的文件信息發(fā)送至應用程序模塊。4.根據(jù)權利要求2所述的文件監(jiān)控處理方法,其特征在于,所述方法還包括:當沒有查找到所述文件路徑時,根據(jù)所述文件內(nèi)容計算所述文件的文件消息摘要,并 將所述文件路徑以及所述文件的文件消息摘要的對應關系保存至所述文件信息鏈表中;將所述文件的文件信息發(fā)送至應用程序模塊。5.根據(jù)權利要求2所述的文件監(jiān)控處理方法,其特征在于,所述方法還包括:若計算得到的文件消息摘要與所述文件信息鏈表中保存的與所述文件路徑對應的文 件消息摘要一致,則不將所述文件的文件信息發(fā)送至應用程序模塊。6.根據(jù)權利要求2所述的文件監(jiān)控處理方法,其特征在于,所述方法還包括:當計算得到的文件消息摘要與所述文件信息鏈表中保存的與所述文件路徑對應的文 件消息摘要不一致時,將所述文件信息鏈表中保存的與所述文件路徑對應的文件消息摘要 修改為所述計算得到的文件消息摘要。7.—種文件監(jiān)控處理裝置,其特征在于,所述裝置位于驅(qū)動程序模塊,所述裝置包括:監(jiān)控單元,用于監(jiān)控文件的打開操作;第一判斷單元,用于當所述監(jiān)控單元監(jiān)控到文件打開時,判斷所述文件是否為可執(zhí)行 文件;第二判斷單元,用于當所述第一判斷單元判斷所述文件為可執(zhí)行文件時,根據(jù)所述文 件的文件消息摘要判斷所述文件是否發(fā)生變更;第一處理單元,用于當所述第二判斷單元判斷所述文件發(fā)生變更時,將所述文件的文 件信息發(fā)送至應用程序模塊。8.根據(jù)權利要求7所述的文件監(jiān)控處理裝置,其特征在于,所述第二判斷單元包括:獲取子單元,用于獲取所述文件的文件路徑和文件內(nèi)容;查找子單元,用于在文件信息鏈表中查找所述獲取子單元獲取到的所述文件路徑,其中,所述文件信息鏈表中保存有文件路徑與文件消息摘要的對應關系;計算子單元,用于當所述查找子單元查找到所述文件路徑時,根據(jù)所述獲取子單元獲 取到的所述文件內(nèi)容計算所述文件的文件消息摘要;判斷子單元,用于將所述計算子單元計算得到的文件消息摘要與所述文件信息鏈表中 保存的與所述文件路徑對應的文件消息摘要進行比較,若二者不一致,則確定所述文件發(fā) 生變更,否則確定所述文件未發(fā)生變更。9.根據(jù)權利要求7或8所述的文件監(jiān)控處理裝置,其特征在于,所述裝置還包括:第二處理單元,用于當所述第一判斷單元判斷所述文件為非可執(zhí)行文件時,不將所述文件的文件信息發(fā)送至應用程序模塊。10.—種電子設備,其特征在于,所述電子設備包括:殼體、處理器、存儲器、電路板和電 源電路,其中,電路板安置在殼體圍成的空間內(nèi)部,處理器和存儲器設置在電路板上;電源 電路,用于為上述電子設備的各個電路或器件供電;存儲器用于存儲可執(zhí)行程序代碼;處理 器通過讀取存儲器中存儲的可執(zhí)行程序代碼來運行與可執(zhí)行程序代碼對應的程序,用于執(zhí) 行前述任一權利要求1-6所述的文件監(jiān)控處理方法。
【文檔編號】G06F21/56GK106022120SQ201610349176
【公開日】2016年10月12日
【申請日】2016年5月24日
【發(fā)明人】李文靖
【申請人】北京金山安全軟件有限公司