一種顯示窗口的隱藏方法、裝置及用戶終端的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及軟件技術(shù)領(lǐng)域,尤其涉及一種顯示窗口的隱藏方法、裝置及用戶終端。
【背景技術(shù)】
[0002]當(dāng)前用戶終端可安裝多種應(yīng)用程序,每種應(yīng)用程序可實(shí)現(xiàn)不同的功能,從而增強(qiáng)了用戶體驗(yàn)。用戶終端在對(duì)應(yīng)用程序進(jìn)行安裝的過(guò)程中,難免會(huì)下載一些惡意軟件。用戶終端的操作系統(tǒng)多為基于窗口操作的系統(tǒng),如WINDOW操作系統(tǒng)等。通常惡意軟件會(huì)破壞當(dāng)前正常運(yùn)行的進(jìn)程,以通過(guò)惡意方式獲取消息或向用戶通過(guò)窗口的方式推送消息,如在當(dāng)前用戶終端的顯示窗口上惡意推送廣告等,并且惡意軟件所運(yùn)行的顯示窗口通常無(wú)法正常隱藏。
[0003]目前用戶終端可通過(guò)安裝防御軟件的方式對(duì)惡意軟件進(jìn)行防御攔截,當(dāng)惡意軟件在運(yùn)行時(shí),用戶終端即便監(jiān)控到惡意軟件所運(yùn)行的顯示窗口,也無(wú)法有效的將其隱藏,減弱了防御軟件的防御效力。
【發(fā)明內(nèi)容】
[0004]本發(fā)明實(shí)施例提供了一種顯示窗口的隱藏方法、裝置及用戶終端。能夠隱藏惡意軟件所保護(hù)的顯示窗口,增強(qiáng)了防御軟件的防御效力。
[0005]—方面,本發(fā)明的實(shí)施例提供了一種顯示窗口的隱藏方法,該方法可包括:
[0006]當(dāng)檢測(cè)到目標(biāo)顯示窗口時(shí),調(diào)用系統(tǒng)應(yīng)用層的第一隱藏函數(shù)對(duì)所述目標(biāo)顯示窗口進(jìn)行隱藏;
[0007]檢測(cè)所述目標(biāo)顯示窗口是否被隱藏;
[0008]若檢測(cè)到所述目標(biāo)顯示窗口未被隱藏,則調(diào)用系統(tǒng)內(nèi)核層的第二隱藏函數(shù)對(duì)所述目標(biāo)顯示窗口進(jìn)行隱藏。
[0009]作為可選的實(shí)施例,當(dāng)檢測(cè)到目標(biāo)顯示窗口時(shí),調(diào)用系統(tǒng)應(yīng)用層的第一隱藏函數(shù)對(duì)所述目標(biāo)顯示窗口進(jìn)行隱藏,包括:
[0010]當(dāng)檢測(cè)到目標(biāo)顯示窗口時(shí),獲取所述目標(biāo)顯示窗口的標(biāo)識(shí)信息;
[0011 ]根據(jù)所述目標(biāo)顯示窗口的標(biāo)識(shí)信息,設(shè)置所述第一隱藏函數(shù)的窗口句柄參數(shù);
[0012]調(diào)用所述設(shè)置的第一隱藏函數(shù)對(duì)所述目標(biāo)顯示窗口進(jìn)行隱藏。
[0013]作為可選的實(shí)施例,在所述調(diào)用所述設(shè)置的第一隱藏函數(shù)對(duì)所述目標(biāo)顯示窗口進(jìn)行隱藏之前,所述方法還包括:
[0014]設(shè)置所述第一隱藏函數(shù)的窗口處理類型參數(shù)的參數(shù)值為隱藏參數(shù)值。
[0015]作為可選的實(shí)施例,所述檢測(cè)所述目標(biāo)顯示窗口是否被隱藏,包括:
[0016]檢測(cè)所述目標(biāo)顯示窗口的窗口狀態(tài)是否為隱藏狀態(tài),若為隱藏狀態(tài),則確定所述目標(biāo)顯示窗口被隱藏;或
[0017]檢測(cè)所述第一隱藏函數(shù)的函數(shù)執(zhí)行結(jié)果,若所述函數(shù)執(zhí)行結(jié)果表示成功,則確定所述目標(biāo)顯示窗口被隱藏。
[0018]作為可選的實(shí)施例,所述若檢測(cè)到所述目標(biāo)顯示窗口未被隱藏,則調(diào)用系統(tǒng)內(nèi)核層的第二隱藏函數(shù)對(duì)所述目標(biāo)顯示窗口進(jìn)行隱藏,包括:
[0019]若檢測(cè)到所述目標(biāo)顯示窗口未被隱藏,在系統(tǒng)內(nèi)核層查找與所述第一隱藏函數(shù)對(duì)應(yīng)的第二隱藏函數(shù);
[0020]根據(jù)所述第一隱藏函數(shù)的所述窗口句柄參數(shù),設(shè)置所述第二隱藏函數(shù);
[0021 ]調(diào)用所述第二隱藏函數(shù)對(duì)所述目標(biāo)顯示窗口進(jìn)行隱藏。
[0022]作為可選的實(shí)施例,當(dāng)所述系統(tǒng)為WINDOWS操作系統(tǒng)時(shí),所述第一隱藏函數(shù)為ShowWindow函數(shù),所述第二隱藏函數(shù)為NtUserShowWindow函數(shù)。
[0023]另一方面,本發(fā)明的實(shí)施例提供了一種顯示窗口的隱藏方法,該裝置可包括:
[0024]第一調(diào)用模塊,用于當(dāng)檢測(cè)到目標(biāo)顯示窗口時(shí),調(diào)用系統(tǒng)應(yīng)用層的第一隱藏函數(shù)對(duì)所述目標(biāo)顯示窗口進(jìn)行隱藏;
[0025]檢測(cè)模塊,用于檢測(cè)所述目標(biāo)顯示窗口是否被隱藏;
[0026]第二調(diào)用模塊,用于若所述檢測(cè)模塊檢測(cè)到所述目標(biāo)顯示窗口未被隱藏,則調(diào)用系統(tǒng)內(nèi)核層的第二隱藏函數(shù)對(duì)所述目標(biāo)顯示窗口進(jìn)行隱藏。
[0027]作為可選的實(shí)施例,所述第一調(diào)用模塊包括:
[0028]獲取單元,用于當(dāng)檢測(cè)到目標(biāo)顯示窗口時(shí),獲取所述目標(biāo)顯示窗口的標(biāo)識(shí)信息;
[0029]第一設(shè)置單元,用于根據(jù)所述目標(biāo)顯示窗口的標(biāo)識(shí)信息,設(shè)置所述第一隱藏函數(shù)的窗口句柄參數(shù);
[0030]第一調(diào)用單元,用于調(diào)用所述設(shè)置的第一隱藏函數(shù)對(duì)所述目標(biāo)顯示窗口進(jìn)行隱藏。
[0031]作為可選的實(shí)施例,所述第一調(diào)用模塊還包括:
[0032]第二設(shè)置單元,用于設(shè)置所述第一隱藏函數(shù)的窗口處理類型參數(shù)的參數(shù)值為隱藏參數(shù)值。
[0033]作為可選的實(shí)施例,所述檢測(cè)模塊包括:
[0034]第一檢測(cè)單元,用于檢測(cè)所述目標(biāo)顯示窗口的窗口狀態(tài)是否為隱藏狀態(tài),若為隱藏狀態(tài),則確定所述目標(biāo)顯示窗口被隱藏;
[0035]第二檢測(cè)單元,用于檢測(cè)所述第一隱藏函數(shù)的函數(shù)執(zhí)行結(jié)果,若所述函數(shù)執(zhí)行結(jié)果表示成功,則確定所述目標(biāo)顯示窗口被隱藏。
[0036]作為可選的實(shí)施例,所述第二調(diào)用模塊包括:
[0037]查找單元,用于在系統(tǒng)內(nèi)核層查找與所述第一隱藏函數(shù)對(duì)應(yīng)的第二隱藏函數(shù);
[0038]第三設(shè)置單元,用于根據(jù)所述第一隱藏函數(shù)的所述窗口句柄參數(shù),設(shè)置所述第二隱藏函數(shù);
[0039]第二調(diào)用單元,用于調(diào)用所述第二隱藏函數(shù)對(duì)所述目標(biāo)顯示窗口進(jìn)行隱藏。
[0040]作為可選的實(shí)施例,當(dāng)所述系統(tǒng)為WIND0WS操作系統(tǒng)時(shí),所述第一隱藏函數(shù)為ShowWindow函數(shù),所述第二隱藏函數(shù)為NtUserShowWindow函數(shù)。
[0041]又一方面,本發(fā)明的實(shí)施例提供了一種用戶終端,該用戶終端可包括用戶接口、存儲(chǔ)器及處理器,其中,所述存儲(chǔ)器中存儲(chǔ)一組程序代碼,且所述處理器調(diào)用所述存儲(chǔ)器中存儲(chǔ)的程序代碼,用于執(zhí)行以下操作:
[0042]當(dāng)檢測(cè)到目標(biāo)顯示窗口時(shí),調(diào)用系統(tǒng)應(yīng)用層的第一隱藏函數(shù)對(duì)所述目標(biāo)顯示窗口進(jìn)行隱藏;
[0043]檢測(cè)所述目標(biāo)顯示窗口是否被隱藏;
[0044]若檢測(cè)到所述目標(biāo)顯示窗口未被隱藏,則調(diào)用系統(tǒng)內(nèi)核層的第二隱藏函數(shù)對(duì)所述目標(biāo)顯示窗口進(jìn)行隱藏。
[0045]本發(fā)明實(shí)施例中,當(dāng)檢測(cè)到所要隱藏的目標(biāo)顯示窗口時(shí),可調(diào)用系統(tǒng)應(yīng)用層中的第一隱藏函數(shù)對(duì)目標(biāo)顯示窗口進(jìn)行隱藏,在調(diào)用該第一隱藏函數(shù)后,檢測(cè)目標(biāo)顯示窗口是否被隱藏,若檢測(cè)到未被隱藏,則表明第一隱藏函數(shù)的執(zhí)行結(jié)果失敗,惡意軟件中設(shè)置了鉤子函數(shù)干涉第一隱藏函數(shù)的執(zhí)行過(guò)程,則可直接調(diào)用系統(tǒng)內(nèi)核層的第二隱藏函數(shù)對(duì)目標(biāo)顯示窗口進(jìn)行隱藏,從而可規(guī)避存在的鉤子函數(shù)對(duì)應(yīng)用層內(nèi)隱藏函數(shù)的干涉,直接隱藏受惡意軟件保護(hù)的目標(biāo)顯示窗口,增強(qiáng)了防御軟件的防御效力。
【附圖說(shuō)明】
[0046]為了更清楚地說(shuō)明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0047]圖1是本發(fā)明中的一種顯示窗口的隱藏方法的一實(shí)施例的流程圖;
[0048]圖2是本發(fā)明中的一種顯示窗口的隱藏方法的另一實(shí)施例的流程圖;
[0049]圖3是本發(fā)明中的一種顯示窗口的隱藏裝置的一實(shí)施例的結(jié)構(gòu)示意圖;
[0050]圖4是本發(fā)明中的一種顯示窗口的隱藏裝置的另一實(shí)施例的結(jié)構(gòu)示意圖;
[0051]圖5是本發(fā)明中的一種用戶終端的一實(shí)施例的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0052]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0053]下面參考附圖對(duì)本發(fā)明的實(shí)施例進(jìn)行描述。其中,本發(fā)明實(shí)施例所述裝置或終端包括可安裝Windows操作系統(tǒng)或其他操作系統(tǒng)的用戶設(shè)備,如手機(jī)、平板電腦、筆記本、穿戴式設(shè)備等。
[0054]參見(jiàn)圖1,圖1為本發(fā)明中的一種顯示窗口的隱藏方法的一實(shí)施例的流程圖。該方法可包括以下步驟。
[0055]步驟S101,當(dāng)檢測(cè)到目標(biāo)顯示窗口時(shí),調(diào)用系統(tǒng)應(yīng)用層的第一隱藏函數(shù)對(duì)所述目標(biāo)顯示窗口進(jìn)行隱藏。
[0056]在一個(gè)實(shí)施例中,當(dāng)用戶終端檢測(cè)到目標(biāo)顯示窗口時(shí),可調(diào)用系統(tǒng)應(yīng)用層的第一隱藏函數(shù)對(duì)目標(biāo)顯示窗口進(jìn)行隱藏。具體的,用戶終端可通過(guò)安裝的第三方防御軟件定期或根據(jù)用戶指令對(duì)當(dāng)前顯示窗口進(jìn)行檢測(cè),可通過(guò)檢測(cè)顯示窗口的推送源或顯示窗口所顯示的內(nèi)容等檢測(cè)是否存在目標(biāo)顯示窗口,也可通過(guò)檢測(cè)用戶對(duì)顯示窗口的關(guān)閉指令是否被執(zhí)行,判斷當(dāng)前是否存在目標(biāo)顯示窗口。舉例說(shuō)明,通過(guò)檢測(cè)顯示窗口的推送源,判斷推送該顯示窗口的應(yīng)用程序是否為惡意的,可通過(guò)判斷該應(yīng)用程序是否出現(xiàn)在黑名單或檢測(cè)該應(yīng)用程序是否包含惡意標(biāo)識(shí)等方式來(lái)判斷該應(yīng)用程序是否為惡意的;也可通過(guò)檢測(cè)顯示窗口所顯示的內(nèi)容判斷該顯示窗口是否為惡意應(yīng)用程序推送的顯示窗口,如窗口顯示內(nèi)容為非用戶訂閱的廣告信息或其他包含惡意標(biāo)識(shí)的信息時(shí),則可確定該顯示窗口為目標(biāo)顯示窗口;也可檢測(cè)用戶是否對(duì)當(dāng)前顯示窗口進(jìn)行了關(guān)閉操作,若用戶對(duì)其進(jìn)行關(guān)閉操作后,該顯示窗口未關(guān)閉或彈出其他窗口時(shí),則確定該顯示窗口為目標(biāo)顯示窗口,需對(duì)其進(jìn)行隱藏。
[0057]在一個(gè)實(shí)施例中,當(dāng)檢測(cè)到目標(biāo)顯示窗口后,可通過(guò)調(diào)用系統(tǒng)應(yīng)用層的第一隱藏函數(shù)對(duì)目標(biāo)顯示窗口進(jìn)行隱藏。其中,用戶終端或其第三方防御應(yīng)用進(jìn)程可通過(guò)調(diào)用系統(tǒng)應(yīng)用層的第一隱藏函數(shù)后,第一隱藏函數(shù)調(diào)用系統(tǒng)內(nèi)核層中與其