處理懸浮窗的方法及懸浮窗處理裝置制造方法【專利摘要】本發(fā)明公開(kāi)了一種處理懸浮窗的方法及懸浮窗處理裝置。該方法包括:在第三方應(yīng)用程序和/或智能終端設(shè)備操作系統(tǒng)中注入預(yù)先設(shè)置的懸浮窗處理程序;所述懸浮窗處理程序在識(shí)別到第三方應(yīng)用程序發(fā)出的繪制懸浮窗請(qǐng)求后,按照預(yù)先設(shè)置的懸浮窗處理策略,處理所述繪制懸浮窗請(qǐng)求。應(yīng)用本發(fā)明,可以提升懸浮窗攔截效率以及用戶業(yè)務(wù)體驗(yàn)?!緦@f(shuō)明】處理懸淳窗的方法及懸淳窗處理裝置【
技術(shù)領(lǐng)域:
】[0001]本發(fā)明涉及廣告攔截技術(shù),具體涉及一種處理懸浮窗的方法及懸浮窗處理裝置。【
背景技術(shù):
】[0002]目前,隨著嵌入式以及互聯(lián)網(wǎng)的迅速發(fā)展,智能終端已經(jīng)成為人們獲取信息、溝通交流以及休閑娛樂(lè)的重要工具。而隨著智能終端的逐漸普及,越來(lái)越多安裝于智能終端的應(yīng)用軟件被開(kāi)發(fā)出來(lái),使得智能終端具有越來(lái)越多的功能。例如,用戶通過(guò)智能終端瀏覽器,可以查詢銀行賬戶、網(wǎng)上購(gòu)物、電子商務(wù)、查詢信息、獲取知識(shí)、進(jìn)行娛樂(lè)等。然而,用戶在上網(wǎng)沖浪瀏覽網(wǎng)頁(yè)的同時(shí),也會(huì)經(jīng)常遇到未經(jīng)點(diǎn)擊而自動(dòng)彈出的瀏覽器頁(yè)面,例如,網(wǎng)站運(yùn)營(yíng)者為了網(wǎng)站利益投放的通知欄廣告、游戲、購(gòu)物網(wǎng)頁(yè),其中,一些瀏覽器頁(yè)面的內(nèi)容通常對(duì)用戶來(lái)說(shuō)毫無(wú)意義,并會(huì)對(duì)用戶的瀏覽行為造成干擾,更為嚴(yán)重的是,部分彈出的瀏覽器頁(yè)面還可能來(lái)自惡意網(wǎng)站,例如,釣魚(yú)網(wǎng)站,或者欺詐、假冒網(wǎng)站等,惡意網(wǎng)站通過(guò)在彈出的瀏覽器頁(yè)面設(shè)置虛假信息,并在瀏覽器頁(yè)面代碼內(nèi)嵌入惡意的腳本程序,如果用戶點(diǎn)擊彈出的瀏覽器頁(yè)面進(jìn)行注冊(cè)或訪問(wèn),惡意網(wǎng)站則可以非法獲取用戶輸入的賬號(hào)、密碼等個(gè)人信息,從而導(dǎo)致用戶隱私信息的泄露,損害用戶的利益。[0003]為了保障用戶的利益,各安全軟件公司開(kāi)發(fā)了多種不同的廣告過(guò)濾軟件,例如,廣告過(guò)濾軟件可以包括基于特征庫(kù)分析的廣告過(guò)濾軟件、匹配程序特征碼的廣告過(guò)濾軟件,用以對(duì)網(wǎng)頁(yè)中的通知欄廣告、游戲、購(gòu)物網(wǎng)頁(yè)等廣告進(jìn)行過(guò)濾。[0004]隨著安全軟件公司加強(qiáng)對(duì)惡意通知欄廣告的識(shí)別和攔截,一些廣告軟件另辟蹊徑,開(kāi)始使用智能終端操作系統(tǒng)的顯示接口,在操作系統(tǒng)界面繪制一種懸浮的廣告窗口,使得繪制的懸浮的廣告窗口(懸浮窗)可以覆蓋在任何應(yīng)用程序之上,這樣,能夠避免廣告過(guò)濾軟件的過(guò)濾,并且用戶無(wú)法知曉該懸浮窗是哪個(gè)應(yīng)用程序顯示的。例如,在智能終端的顯示界面,利用操作系統(tǒng)顯示接口顯示的惡意懸浮窗可以附在任何應(yīng)該用程序界面上,使得用戶無(wú)法確定是那個(gè)惡意應(yīng)用程序彈出的,并在顯示的惡意懸浮窗中,通過(guò)要求用戶注冊(cè)或要求用戶下載該惡意廣告軟件,甚至設(shè)置在惡意懸浮窗提供的關(guān)閉控件按鈕,也指向該惡意廣告對(duì)應(yīng)的鏈接網(wǎng)頁(yè)。使得該生成懸浮窗并向用戶展示的方法,不僅對(duì)用戶造成了干擾和困惑,而且有可能在用戶使用網(wǎng)銀等應(yīng)用程序軟件時(shí),被欺騙在惡意應(yīng)用程序軟件彈出的懸浮窗中輸入敏感信息,導(dǎo)致不必要的物質(zhì)損失以及隱私信息泄露。而對(duì)該類懸浮窗,現(xiàn)有技術(shù)還沒(méi)有提出較好的攔截該類懸浮窗的方法。【
發(fā)明內(nèi)容】[0005]鑒于上述問(wèn)題,提出了本發(fā)明以便提供一種克服上述問(wèn)題或者至少部分地解決上述問(wèn)題的處理懸浮窗的方法及懸浮窗處理裝置。[0006]依據(jù)本發(fā)明的一個(gè)方面,提供了處理懸浮窗的方法,該方法包括:[0007]在第三方應(yīng)用程序和/或智能終端設(shè)備操作系統(tǒng)中注入預(yù)先設(shè)置的懸浮窗處理程序;[0008]所述懸浮窗處理程序在識(shí)別到第三方應(yīng)用程序發(fā)出的繪制懸浮窗請(qǐng)求后,按照預(yù)先設(shè)置的懸浮窗處理策略,處理所述繪制懸浮窗請(qǐng)求。[0009]優(yōu)選地,所述按照預(yù)先設(shè)置的懸浮窗處理策略,處理所述繪制懸浮窗請(qǐng)求包括:[0010]將繪制懸浮窗請(qǐng)求中攜帶的懸浮窗特征信息與預(yù)先設(shè)置的懸浮窗特征信息庫(kù)進(jìn)行特征信息匹配,如果相匹配,則攔截該繪制懸浮窗請(qǐng)求。[0011]優(yōu)選地,所述懸浮窗特征信息包括:窗口布局文件路徑信息、窗口圖片資源文件路徑信息、窗口布局文件名稱信息、窗口圖片資源文件名稱信息、窗口文本文字信息中的一種或其任意組合。[0012]優(yōu)選地,所述方法進(jìn)一步包括:[0013]如果繪制懸浮窗請(qǐng)求中攜帶的懸浮窗特征信息與預(yù)先設(shè)置的懸浮窗特征信息庫(kù)不相匹配,展示繪制懸浮窗請(qǐng)求對(duì)應(yīng)的懸浮窗。[0014]優(yōu)選地,所述方法進(jìn)一步包括:[0015]如果繪制懸浮窗請(qǐng)求中攜帶的懸浮窗特征信息與預(yù)先設(shè)置的懸浮窗特征信息庫(kù)不相匹配,將繪制懸浮窗請(qǐng)求中攜帶的懸浮窗特征信息向用戶展示,并提示用戶是否允許展示,如果允許,展示繪制懸浮窗請(qǐng)求對(duì)應(yīng)的懸浮窗,如果不允許,攔截該繪制懸浮窗請(qǐng)求。[0016]優(yōu)選地,所述方法進(jìn)一步包括:[0017]將繪制懸浮窗請(qǐng)求中攜帶的懸浮窗特征信息保存至所述預(yù)先設(shè)置的懸浮窗特征信息庫(kù)。[0018]優(yōu)選地,所述按照預(yù)先設(shè)置的懸浮窗處理策略,處理所述繪制懸浮窗請(qǐng)求包括:[0019]將繪制懸浮窗請(qǐng)求中攜帶的懸浮窗特征信息與預(yù)先設(shè)置的懸浮窗特征信息庫(kù)進(jìn)行特征信息匹配,如果相匹配,將預(yù)先設(shè)置的加載內(nèi)容替換繪制懸浮窗請(qǐng)求對(duì)應(yīng)的懸浮窗中的內(nèi)容,并將加載有預(yù)先設(shè)置的加載內(nèi)容的懸浮窗進(jìn)行展示。[0020]優(yōu)選地,在處理所述繪制懸浮窗請(qǐng)求后,所述方法進(jìn)一步包括:[0021]向智能終端設(shè)備發(fā)送消息提醒;和/或,[0022]對(duì)所述第三方應(yīng)用程序進(jìn)行安全掃描;和/或,[0023]卸載所述第三方應(yīng)用程序;和/或,[0024]為所述第三方應(yīng)用程序設(shè)置隱私訪問(wèn)權(quán)限。[0025]優(yōu)選地,所述在第三方應(yīng)用程序中注入預(yù)先設(shè)置的懸浮窗處理程序包括:[0026]在第三方應(yīng)用程序中注入預(yù)先設(shè)置的懸浮窗處理程序的分析以及回調(diào)模塊,所述注入的分析以及回調(diào)模塊用于替換第三方應(yīng)用程序的顯示管理模塊,且所述注入的分析以及回調(diào)模塊中設(shè)置有懸浮窗顯示函數(shù)或服務(wù)顯示接口。[0027]優(yōu)選地,所述注入的分析以及回調(diào)模塊用于替換第三方應(yīng)用程序的顯示管理模塊包括:[0028]調(diào)用WindowManager的addview方法,將分析以及回調(diào)模塊中預(yù)先設(shè)置的懸浮窗顯示函數(shù)或服務(wù)顯示接口,替換第三方應(yīng)用程序的顯示管理模塊中相應(yīng)的懸浮窗顯示函數(shù)或服務(wù)顯示接口。[0029]優(yōu)選地,所述將分析以及回調(diào)模塊中預(yù)先設(shè)置的懸浮窗顯示函數(shù)或服務(wù)顯示接口,替換第三方應(yīng)用程序的顯示管理模塊中相應(yīng)的懸浮窗顯示函數(shù)或服務(wù)顯示接口包括:[0030]查找第三方應(yīng)用程序的顯示管理模塊進(jìn)程中的懸浮窗顯示函數(shù)或服務(wù)顯示接口的內(nèi)存變量;[0031]將所述懸浮窗顯示函數(shù)或服務(wù)顯示接口的內(nèi)存變量替換為預(yù)先設(shè)置的懸浮窗處理程序的分析以及回調(diào)模塊中的懸浮窗顯示函數(shù)或服務(wù)顯示接口的內(nèi)存變量。[0032]優(yōu)選地,所述在智能終端設(shè)備操作系統(tǒng)中注入預(yù)先設(shè)置的懸浮窗處理程序包括:[0033]在智能終端設(shè)備操作系統(tǒng)中的顯示服務(wù)模塊注入預(yù)先設(shè)置的懸浮窗處理程序,所述懸浮窗處理程序中設(shè)置有懸浮窗顯示函數(shù)或服務(wù)顯示接口,用于替換所述顯示服務(wù)模塊中的懸浮窗顯示函數(shù)或服務(wù)顯示接口。[0034]優(yōu)選地,在注入預(yù)先設(shè)置的懸浮窗處理程序之前,所述方法可以進(jìn)一步包括:[0035]獲取第三方應(yīng)用程序或智能終端設(shè)備操作系統(tǒng)的根權(quán)限。[0036]優(yōu)選地,在注入預(yù)先設(shè)置的懸浮窗處理程序之前,所述方法進(jìn)一步包括:[0037]調(diào)用Windows操作系統(tǒng)的SetWindowsHookEx接口,設(shè)置用于識(shí)別懸浮窗的懸浮窗處理程序。[0038]根據(jù)本發(fā)明的另一個(gè)方面提供了一種懸浮窗處理裝置,該裝置包括:注入模塊以及處理模塊,其中,[0039]注入模塊,用于在第三方應(yīng)用程序和/或智能終端設(shè)備操作系統(tǒng)中注入預(yù)先設(shè)置的懸浮窗處理程序;[0040]處理模塊,用于在所述懸浮窗處理程序識(shí)別到第三方應(yīng)用程序發(fā)出的繪制懸浮窗請(qǐng)求后,按照預(yù)先設(shè)置的懸浮窗處理策略,處理所述繪制懸浮窗請(qǐng)求。[0041]優(yōu)選地,所述注入模塊包括:第三方應(yīng)用程序注入單元以及智能終端設(shè)備操作系統(tǒng)注入單元,其中,[0042]第三方應(yīng)用程序注入單元,用于在第三方應(yīng)用程序中注入預(yù)先設(shè)置的懸浮窗處理程序的分析以及回調(diào)模塊,所述注入的分析以及回調(diào)模塊用于替換第三方應(yīng)用程序的顯示管理模塊,且所述注入的分析以及回調(diào)模塊中設(shè)置有懸浮窗顯示函數(shù)或服務(wù)顯示接口;[0043]智能終端設(shè)備操作系統(tǒng)注入單元,用于在智能終端設(shè)備操作系統(tǒng)中的顯示服務(wù)模塊注入預(yù)先設(shè)置的懸浮窗處理程序,所述懸浮窗處理程序中設(shè)置有懸浮窗顯示函數(shù)或服務(wù)顯示接口,用于替換所述顯示服務(wù)模塊中的懸浮窗顯示函數(shù)或服務(wù)顯示接口。[0044]優(yōu)選地,所述處理模塊包括:監(jiān)測(cè)單元、攔截單元、提取單元以及匹配處理單元,其中,[0045]監(jiān)測(cè)單元,用于監(jiān)測(cè)第三方應(yīng)用程序發(fā)出的繪制懸浮窗請(qǐng)求,在監(jiān)測(cè)到第三方應(yīng)用程序發(fā)出繪制懸浮窗請(qǐng)求后,通知攔截單元;[0046]攔截單元,用于根據(jù)來(lái)自監(jiān)測(cè)單元的通知,暫攔截第三方應(yīng)用程序發(fā)出的繪制懸浮窗請(qǐng)求,接收來(lái)自匹配處理單元的通知,攔截或放行暫攔截的繪制懸浮窗請(qǐng)求;[0047]提取單元,用于提取攔截的繪制懸浮窗請(qǐng)求中攜帶的懸浮窗特征信息,輸出至匹配處理單元;[0048]匹配處理單元,用于將接收的懸浮窗特征信息與預(yù)先設(shè)置的懸浮窗特征信息庫(kù)進(jìn)行特征信息匹配,如果相匹配,通知攔截單元攔截繪制懸浮窗請(qǐng)求,如果不相匹配,通知攔截單元放行繪制懸浮窗請(qǐng)求。[0049]優(yōu)選地,所述裝置進(jìn)一步包括:[0050]根權(quán)限獲取模塊,用于獲取第三方應(yīng)用程序或智能終端設(shè)備操作系統(tǒng)的根權(quán)限。[0051]優(yōu)選地,所述裝置進(jìn)一步包括:[0052]懸浮窗處理程序設(shè)置模塊,用于調(diào)用Windows操作系統(tǒng)的SetWindowsHookEx接口,設(shè)置用于識(shí)別懸浮窗的懸浮窗處理程序。[0053]優(yōu)選地,所述裝置進(jìn)一步包括:提示模塊、選擇處理模塊以及展示模塊,其中,[0054]提示模塊,用于在監(jiān)測(cè)到攔截單元放行暫攔截的繪制懸浮窗請(qǐng)求后,將繪制懸浮窗請(qǐng)求中攜帶的懸浮窗特征信息向用戶展示,并提示用戶是否允許展示;[0055]選擇處理模塊,用于在用戶選擇允許展示后,通知展示模塊展示繪制懸浮窗請(qǐng)求對(duì)應(yīng)的懸浮窗;在用戶選擇不允許展示后,攔截繪制懸浮窗請(qǐng)求。[0056]優(yōu)選地,在用戶選取不允許后,所述選擇處理模塊還可以進(jìn)一步通知提取單元將繪制懸浮窗請(qǐng)求中攜帶的懸浮窗特征信息保存至所述預(yù)先設(shè)置的懸浮窗特征信息庫(kù)。[0057]優(yōu)選地,所述裝置進(jìn)一步包括:[0058]擴(kuò)展模塊,用于在處理所述繪制懸浮窗請(qǐng)求后,向智能終端設(shè)備發(fā)送消息提醒;和/或,[0059]對(duì)所述第三方應(yīng)用進(jìn)行安全掃描;和/或,[0060]卸載所述第三方應(yīng)用;和/或,[0061]為所述第三方應(yīng)用設(shè)置隱私訪問(wèn)權(quán)限。[0062]根據(jù)本發(fā)明的處理懸浮窗的方法及懸浮窗處理裝置,可以利用第三方應(yīng)用程序或智能終端設(shè)備中注入的懸浮窗處理程序,監(jiān)控第三方應(yīng)用程序或智能終端設(shè)備操作系統(tǒng)中的任何一個(gè)系統(tǒng)進(jìn)程,從而在第三方應(yīng)用程序利用操作系統(tǒng)的顯示接口發(fā)起繪制懸浮窗請(qǐng)求時(shí),注入的懸浮窗處理程序截獲該繪制懸浮窗請(qǐng)求,并按照預(yù)先設(shè)置的懸浮窗處理策略,確定是否攔截該懸浮窗。由此解決了現(xiàn)有技術(shù)不能對(duì)懸浮窗進(jìn)行有效攔截的技術(shù)問(wèn)題,取得了有效提升懸浮窗攔截效率、提升用戶業(yè)務(wù)體驗(yàn)的有益效果。[0063]上述說(shuō)明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說(shuō)明書(shū)的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的【具體實(shí)施方式】?!緦@綀D】【附圖說(shuō)明】[0064]通過(guò)閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對(duì)于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對(duì)本發(fā)明的限制。而且在整個(gè)附圖中,用相同的參考符號(hào)表示相同的部件。在附圖中:[0065]圖1示出了本發(fā)明實(shí)施例處理懸浮窗的方法流程;以及,[0066]圖2示出了本發(fā)明實(shí)施例懸浮窗處理裝置結(jié)構(gòu)。【具體實(shí)施方式】[0067]下面將參照附圖更詳細(xì)地描述本公開(kāi)的示例性實(shí)施例。雖然附圖中顯示了本公開(kāi)的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開(kāi)而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開(kāi),并且能夠?qū)⒈竟_(kāi)的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。[0068]現(xiàn)有的懸浮窗顯示方法,利用智能終端操作系統(tǒng)的顯示接口在操作系統(tǒng)界面進(jìn)行繪制,使得繪制的懸浮窗可以覆蓋在任何應(yīng)用程序界面之上,這樣,可以避免廣告過(guò)濾軟件的過(guò)濾,并且用戶無(wú)法知曉該懸浮窗是哪個(gè)應(yīng)用程序顯示的,因而,還沒(méi)有針對(duì)該類懸浮窗進(jìn)行有效攔截的方法。[0069]實(shí)際應(yīng)用中,不同的用戶,對(duì)操作系統(tǒng)進(jìn)行操作的權(quán)限可能不同。對(duì)于智能終端設(shè)備操作系統(tǒng)(簡(jiǎn)稱系統(tǒng))來(lái)說(shuō),操作系統(tǒng)將用戶分為不同的權(quán)限組,并為每個(gè)權(quán)限組賦予相應(yīng)的操作權(quán)限,權(quán)限組可以包括:管理員權(quán)限組、高權(quán)限用戶組、普通用戶組、備份操作組、文件復(fù)制組以及匿名權(quán)限組等。其中,管理員權(quán)限組對(duì)應(yīng)的操作權(quán)限為管理員權(quán)限,高權(quán)限用戶組對(duì)應(yīng)的操作權(quán)限為高權(quán)限,普通用戶組對(duì)應(yīng)的操作權(quán)限為普通權(quán)限等。[0070]本發(fā)明實(shí)施例中,考慮到不同的操作權(quán)限雖然將用戶對(duì)操作系統(tǒng)的操作限制在相應(yīng)的操作權(quán)限內(nèi),但由于各操作權(quán)限之間并不相互獨(dú)立,都依賴于同樣的指令完成權(quán)限操作。因而,可以利用提升權(quán)限(AdjustTokenPrivilege)的方法提升訪問(wèn)用戶的操作權(quán)限,其中,提升權(quán)限是指程序員或相關(guān)技術(shù)人員利用各種操作系統(tǒng)漏洞,突破操作系統(tǒng)指派的操作權(quán)限級(jí)別,將自己當(dāng)前的操作權(quán)限提高一個(gè)或多個(gè)級(jí)別,從而使用戶獲取更多對(duì)操作系統(tǒng)進(jìn)行操作的權(quán)限,例如,通過(guò)提升權(quán)限的方法,可以使用戶獲取原先未曾擁有的對(duì)系統(tǒng)文件的刪、增、改等權(quán)限?,F(xiàn)有提升權(quán)限的方法應(yīng)用較為廣泛的包括智能終端設(shè)備刷機(jī)、根權(quán)限以及越獄等。[0071]本發(fā)明實(shí)施例中,基于上述分析和考慮,提出一種處理懸浮窗的方法,通過(guò)利用智能終端設(shè)備的操作系統(tǒng)漏洞,利用提升權(quán)限的方法,獲取操作系統(tǒng)的高級(jí)操作權(quán)限,在獲取高級(jí)操作權(quán)限后,在第三方應(yīng)用程序(惡意軟件程序)或智能終端設(shè)備中注入(inject)懸浮窗處理程序,可以實(shí)現(xiàn)控制第三方應(yīng)用程序或智能終端設(shè)備操作系統(tǒng)中的任何一個(gè)系統(tǒng)進(jìn)程,從而在第三方應(yīng)用程序利用操作系統(tǒng)的顯示接口發(fā)起繪制懸浮窗請(qǐng)求時(shí),第三方應(yīng)用程序中預(yù)先注入的懸浮窗處理程序截獲該繪制懸浮窗請(qǐng)求,并按照預(yù)先設(shè)置的懸浮窗處理策略,確定是否攔截該懸浮窗;或者,智能終端設(shè)備中預(yù)先注入的懸浮窗處理程序截獲第三方應(yīng)用程序發(fā)起的繪制懸浮窗請(qǐng)求,并按照預(yù)先設(shè)置的懸浮窗處理策略,確定是否攔截該懸浮窗。這樣,利用提升權(quán)限的方法注入懸浮窗處理程序,可以有效截獲利用操作系統(tǒng)的顯示接口繪制的懸浮窗,從而提升懸浮窗的攔截效率,提升用戶的業(yè)務(wù)體驗(yàn)。[0072]本發(fā)明實(shí)施例中,以安裝有安卓(Android)系統(tǒng)的智能終端設(shè)備為例進(jìn)行示例性說(shuō)明,但所應(yīng)說(shuō)明的是,該描述僅是示例性的,本發(fā)明的范圍并不限于此,本發(fā)明實(shí)施例的方法也可適用于安裝有其他操作系統(tǒng),例如,Linux操作系統(tǒng)、iOS操作系統(tǒng)、WindowPhone操作系統(tǒng)等的智能終端設(shè)備。[0073]圖1示出了本發(fā)明實(shí)施例處理懸浮窗的方法流程。參見(jiàn)圖1,該流程包括:[0074]步驟101,在第三方應(yīng)用程序和/或智能終端設(shè)備操作系統(tǒng)中注入預(yù)先設(shè)置的懸浮窗攔截程序;[0075]本步驟中,懸浮窗攔截程序?yàn)閼腋〈疤幚沓绦?。作為可選實(shí)施例,在第三方應(yīng)用程序中注入預(yù)先設(shè)置的懸浮窗處理程序包括:[0076]在第三方應(yīng)用程序(惡意軟件程序)中注入預(yù)先設(shè)置的懸浮窗處理程序的分析以及回調(diào)模塊,所述注入的分析以及回調(diào)模塊用于替換第三方應(yīng)用程序的顯示管理模塊,且所述注入的分析以及回調(diào)模塊中設(shè)置有懸浮窗顯示函數(shù)或服務(wù)顯示接口。[0077]本步驟中,可以利用注入的分析以及回調(diào)模塊動(dòng)態(tài)地監(jiān)控第三方應(yīng)用程序添加懸浮窗的行為。也就是說(shuō),在第三方應(yīng)用程序中,利用注入的懸浮窗處理程序(懸浮窗顯示函數(shù)或服務(wù)顯示接口)監(jiān)視懸浮窗調(diào)用流程。[0078]本發(fā)明實(shí)施例中,所述注入的分析以及回調(diào)模塊用于替換第三方應(yīng)用程序的顯示管理模塊包括:[0079]調(diào)用WindowManager的addview方法,將分析以及回調(diào)模塊中預(yù)先設(shè)置的懸浮窗顯示函數(shù)或服務(wù)顯示接口,替換第三方應(yīng)用程序的顯示管理模塊中相應(yīng)的懸浮窗顯示函數(shù)或服務(wù)顯示接口。[0080]本步驟中,通過(guò)替換惡意軟件中涉及到的相關(guān)函數(shù)或者變量(懸浮窗顯示函數(shù)或服務(wù)顯示接口),從而可以在后續(xù)流程中,達(dá)到處理懸浮窗的目的。關(guān)于調(diào)用WindowManager的addview方法,屬于公知技術(shù),在此略去詳述。[0081]本發(fā)明實(shí)施例中,將分析以及回調(diào)模塊中預(yù)先設(shè)置的懸浮窗顯示函數(shù)或服務(wù)顯示接口,替換第三方應(yīng)用程序的顯示管理模塊中相應(yīng)的懸浮窗顯示函數(shù)或服務(wù)顯示接口包括:[0082]All,查找第三方應(yīng)用程序的顯示管理模塊進(jìn)程中的懸浮窗顯示函數(shù)或服務(wù)顯示接口的內(nèi)存變量;[0083]A12,將所述懸浮窗顯示函數(shù)或服務(wù)顯示接口的內(nèi)存變量替換為預(yù)先設(shè)置的懸浮窗處理程序的分析以及回調(diào)模塊中的懸浮窗顯示函數(shù)或服務(wù)顯示接口的內(nèi)存變量。[0084]本發(fā)明實(shí)施例中,作為可選實(shí)施例,步驟A12可以具體包括:[0085]將懸浮窗處理程序的分析以及回調(diào)模塊中的懸浮窗顯示函數(shù)或服務(wù)顯示接口的內(nèi)存變量對(duì)應(yīng)的代碼寫(xiě)入動(dòng)態(tài)鏈接庫(kù)(DLL,DynamicLinkLibrary)中,利用操作系統(tǒng)中的windows鉤子將寫(xiě)入動(dòng)態(tài)鏈接庫(kù)中的懸浮窗處理程序的內(nèi)存變量代碼映射到顯示管理模塊進(jìn)程。[0086]作為另一可選實(shí)施例,步驟A12也可以包括:[0087]將懸浮窗處理程序的分析以及回調(diào)模塊中的懸浮窗顯示函數(shù)或服務(wù)顯示接口的內(nèi)存變量對(duì)應(yīng)的代碼寫(xiě)入動(dòng)態(tài)鏈接庫(kù)中,利用操作系統(tǒng)中的遠(yuǎn)程注入(CreatRemoteThread)以及動(dòng)態(tài)加載(LoadLibrary)將寫(xiě)入動(dòng)態(tài)鏈接庫(kù)中的懸浮窗處理程序的內(nèi)存變量代碼映射到顯示管理模塊進(jìn)程。[0088]作為再一可選實(shí)施例,步驟A12還可以包括:[0089]利用系統(tǒng)進(jìn)程監(jiān)視器(WriteProcessMemory),將懸浮窗處理程序的分析以及回調(diào)模塊中的懸浮窗顯示函數(shù)或服務(wù)顯示接口的內(nèi)存變量對(duì)應(yīng)的代碼復(fù)制到顯示管理模塊進(jìn)程,并利用遠(yuǎn)程注入(CreatRemoteThread)執(zhí)行。[0090]作為可選實(shí)施例,在智能終端設(shè)備操作系統(tǒng)中注入預(yù)先設(shè)置的懸浮窗處理程序包括:[0091]在智能終端設(shè)備操作系統(tǒng)中的顯示服務(wù)模塊注入預(yù)先設(shè)置的懸浮窗處理程序,所述懸浮窗處理程序中設(shè)置有懸浮窗顯示函數(shù)或服務(wù)顯示接口,用于替換所述顯示服務(wù)模塊中的懸浮窗顯示函數(shù)或服務(wù)顯示接口。[0092]本發(fā)明實(shí)施例中,通過(guò)將懸浮窗處理程序注入智能終端操作系統(tǒng)中的顯示服務(wù)模塊,從而使得注入的懸浮窗處理程序可以在智能終端設(shè)備中監(jiān)視懸浮窗顯示調(diào)用流程。[0093]實(shí)際應(yīng)用中,可以通過(guò)智能終端操作系統(tǒng)顯示接口,從顯示服務(wù)模塊注入懸浮窗處理程序,替換顯示服務(wù)模塊中用于顯示懸浮窗的懸浮窗顯示函數(shù)或者服務(wù)顯示接口,從而達(dá)到攔截的目的。[0094]本發(fā)明實(shí)施例中,進(jìn)行替換在具體實(shí)現(xiàn)時(shí),可以通過(guò)調(diào)用WindowSession類的add方法或WindowSession類的addToDisplay方法進(jìn)行替換。例如,通過(guò)調(diào)用WindowSession類的add方法或WindowSession類的addToDisplay方法,將懸浮窗處理程序中預(yù)先設(shè)置的懸浮窗顯示函數(shù)替換顯示服務(wù)模塊中的懸浮窗顯示函數(shù);或者,將懸浮窗處理程序中預(yù)先設(shè)置的服務(wù)顯示接口替換顯示服務(wù)模塊中的服務(wù)顯示接口。關(guān)于替換的具體流程為公知技術(shù),在此略去詳述。[0095]作為可選實(shí)施例,替換所述顯示服務(wù)模塊中的懸浮窗顯示函數(shù)或服務(wù)顯示接口包括:[0096]B11,查找智能終端設(shè)備操作系統(tǒng)的顯示服務(wù)模塊進(jìn)程中的懸浮窗顯示函數(shù)或服務(wù)顯示接口的內(nèi)存變量;[0097]B12,將所述懸浮窗顯示函數(shù)或服務(wù)顯示接口的內(nèi)存變量替換為預(yù)先設(shè)置的懸浮窗處理程序用于懸浮窗顯示調(diào)用的懸浮窗顯示函數(shù)或服務(wù)顯示接口的內(nèi)存變量。[0098]本步驟的具體執(zhí)行流程與步驟A12的具體執(zhí)行流程相類似,在此略去詳述。[0099]本發(fā)明實(shí)施例中,懸浮窗處理程序中存儲(chǔ)的內(nèi)存變量代碼或函數(shù)信息可以文件的形式進(jìn)行存儲(chǔ),可以通過(guò)在智能終端設(shè)備操作系統(tǒng)中找到顯示服務(wù)模塊進(jìn)程,在顯示服務(wù)模塊進(jìn)程的位置加載以文件形式存儲(chǔ)的懸浮窗處理程序。例如,可以通過(guò)安卓系統(tǒng)所基于的Linux系統(tǒng)所提供的應(yīng)用程序編程接口(API,ApplicationProgrammingInterface),以指定模式打開(kāi)一個(gè)動(dòng)態(tài)鏈接庫(kù)的dlopen方法,將懸浮窗處理程序加載到顯示服務(wù)模塊進(jìn)程中,從而替換顯示服務(wù)模塊進(jìn)程中的相關(guān)內(nèi)存變量代碼為懸浮窗處理程序中相對(duì)應(yīng)的內(nèi)存變量代碼。其中,替換后的懸浮窗處理程序中相對(duì)應(yīng)的內(nèi)存變量代碼所實(shí)現(xiàn)的功能與顯示服務(wù)模塊進(jìn)程中的相關(guān)內(nèi)存變量代碼所實(shí)現(xiàn)的功能一致,且追加有懸浮窗顯示請(qǐng)求攔截功能。這樣,在顯示服務(wù)模塊進(jìn)程發(fā)送懸浮窗顯示請(qǐng)求后,先調(diào)用懸浮窗處理程序進(jìn)行處理。[0100]所應(yīng)說(shuō)明的是,本發(fā)明實(shí)施例中的注入僅是示例性的,本領(lǐng)域普通技術(shù)人員可以采用其他的技術(shù)來(lái)完成替換流程,例如,在操作系統(tǒng)啟動(dòng)后調(diào)用SetWindowsHookEx接口向Windows操作系統(tǒng)注冊(cè)本發(fā)明實(shí)施例的懸浮窗處理程序,用于攔截操作系統(tǒng)創(chuàng)建懸浮窗的消息或請(qǐng)求,本發(fā)明實(shí)施例不再一一例舉。[0101]本發(fā)明實(shí)施例中,在顯示服務(wù)模塊進(jìn)程中注入懸浮窗處理程序后,懸浮窗處理程序可以替換顯示服務(wù)模塊進(jìn)程中已有的函數(shù)或變量(懸浮窗顯示函數(shù)或服務(wù)顯示接口)。這樣,后續(xù)應(yīng)用中,可以通過(guò)底層接口攔截第三方應(yīng)用程序發(fā)出的懸浮窗顯示請(qǐng)求,而不會(huì)影響其它應(yīng)用程序的正常運(yùn)行和使用。[0102]作為可選實(shí)施例,在注入預(yù)先設(shè)置的懸浮窗處理程序之前,該方法進(jìn)一步包括:[0103]調(diào)用Windows操作系統(tǒng)的SetWindowsHookEx接口,設(shè)置用于識(shí)別懸浮窗的懸浮窗處理程序。[0104]本步驟中,懸浮窗處理程序可以是Windows操作系統(tǒng)中的用于處理消息的窗口鉤子程序。通過(guò)設(shè)置懸浮窗處理程序,每當(dāng)特定的消息或請(qǐng)求發(fā)出,在沒(méi)有到達(dá)目的窗口前,懸浮窗處理程序可以捕獲該消息或請(qǐng)求,即懸浮窗處理程序先得到控制權(quán)。這樣,懸浮窗處理程序可以修改該消息或請(qǐng)求,也可以不作處理而繼續(xù)傳遞該消息或請(qǐng)求,還可以強(qiáng)制結(jié)束該消息或請(qǐng)求的傳遞。[0105]作為另一可選實(shí)施例,在注入預(yù)先設(shè)置的懸浮窗處理程序之前,該方法可以進(jìn)一步包括:[0106]獲取第三方應(yīng)用程序或智能終端設(shè)備操作系統(tǒng)的根(Root)權(quán)限。[0107]本步驟中,通過(guò)預(yù)先獲取第三方應(yīng)用程序或智能終端設(shè)備操作系統(tǒng)的Root權(quán)限,從而可以實(shí)現(xiàn)提升權(quán)限。其中,Root是Linux操作系統(tǒng)和Unix操作系統(tǒng)中的超級(jí)管理員用戶賬戶,如果獲得Root權(quán)限,表示已經(jīng)獲取第三方應(yīng)用程序或智能終端設(shè)備操作系統(tǒng)的最高權(quán)限。這樣,可以對(duì)第三方應(yīng)用程序或智能終端設(shè)備中的任何文件(包括操作系統(tǒng)文件)執(zhí)行增、刪、改、查等操作,從而實(shí)現(xiàn)懸浮窗處理程序的注入。[0108]步驟102,啟動(dòng)預(yù)先注入的懸浮窗處理程序;[0109]本步驟為可選步驟,本步驟中,如果是在第三方應(yīng)用程序中注入懸浮窗處理程序,則在第三方應(yīng)用程序發(fā)起繪制懸浮窗請(qǐng)求的同時(shí)或之后,自動(dòng)觸發(fā)啟動(dòng)注入在第三方應(yīng)用程序中的懸浮窗處理程序;如果是在智能終端設(shè)備操作系統(tǒng)中注入懸浮窗處理程序,則在第三方應(yīng)用程序發(fā)起的繪制懸浮窗請(qǐng)求到達(dá)智能終端設(shè)備操作系統(tǒng)的同時(shí)或之后,即智能終端設(shè)備操作系統(tǒng)接收到繪制懸浮窗請(qǐng)求的同時(shí)或之后,觸發(fā)啟動(dòng)注入在智能終端設(shè)備操作系統(tǒng)中的懸浮窗處理程序。[0110]步驟103,啟動(dòng)的懸浮窗攔截程序在攔截到第三方應(yīng)用程序發(fā)出的繪制懸浮窗請(qǐng)求后,按照預(yù)先設(shè)置的懸浮窗攔截處理策略,處理所述繪制懸浮窗請(qǐng)求。[0111]本步驟中,啟動(dòng)的懸浮窗處理程序在識(shí)別到第三方應(yīng)用程序發(fā)出的繪制懸浮窗請(qǐng)求后,按照預(yù)先設(shè)置的懸浮窗處理策略,處理所述繪制懸浮窗請(qǐng)求。第三方應(yīng)用程序中注入的懸浮窗處理程序在識(shí)別到第三方應(yīng)用程序發(fā)起的繪制懸浮窗請(qǐng)求,使之不發(fā)向智能終端設(shè)備操作系統(tǒng)并調(diào)用懸浮窗顯示函數(shù)或服務(wù)顯示接口進(jìn)行處理;而智能終端設(shè)備操作系統(tǒng)中注入的懸浮窗處理程序在識(shí)別到發(fā)送至智能終端設(shè)備操作系統(tǒng)的繪制懸浮窗請(qǐng)求后,直接調(diào)用懸浮窗處理程序中的懸浮窗顯示函數(shù)或服務(wù)顯示接口進(jìn)行處理。[0112]實(shí)際應(yīng)用中,由于惡意軟件(應(yīng)用程序)在通過(guò)智能終端操作系統(tǒng)顯示接口發(fā)起繪制懸浮窗請(qǐng)求時(shí),攜帶有待顯示懸浮窗的懸浮窗特征信息。因而,本發(fā)明實(shí)施例中,按照預(yù)先設(shè)置的懸浮窗處理策略,處理所述繪制懸浮窗請(qǐng)求包括:[0113]將繪制懸浮窗請(qǐng)求中攜帶的懸浮窗特征信息與預(yù)先設(shè)置的懸浮窗特征信息庫(kù)進(jìn)行特征信息匹配,如果相匹配,則攔截該繪制懸浮窗請(qǐng)求。[0114]本步驟中,懸浮窗特征信息包括:窗口布局文件路徑信息、窗口圖片資源文件路徑信息、窗口布局文件名稱信息、窗口圖片資源文件名稱信息、窗口文本文字信息中的一種或其任意組合。[0115]本發(fā)明實(shí)施例中,預(yù)先設(shè)置的懸浮窗特征信息可以預(yù)先通過(guò)人工運(yùn)營(yíng),提取一部分已知的惡意軟件展示懸浮窗的特征信息,形成懸浮窗特征信息庫(kù)。作為另一可選實(shí)施例,也可以根據(jù)收集的懸浮窗相關(guān)信息,按照預(yù)先設(shè)置的特征提取算法,進(jìn)行懸浮窗特征信息提取,獲取懸浮窗特征信息,并通過(guò)機(jī)器學(xué)習(xí)的方法,從獲取的懸浮窗特征信息中,確定需要攔截的懸浮窗對(duì)應(yīng)的懸浮窗特征信息,并置于懸浮窗特征信息庫(kù)中。關(guān)于特征提取算法以及機(jī)器學(xué)習(xí)的方法,為公知技術(shù),在此略去詳述。[0116]實(shí)際應(yīng)用中,還可以通過(guò)分析懸浮窗特征信息,獲取木馬樣本,提取出該木馬樣本對(duì)應(yīng)的懸浮窗特征信息,保存到懸浮窗特征信息庫(kù),然后,將懸浮窗特征信息庫(kù)附加到懸浮窗處理程序中,以供懸浮窗處理程序在監(jiān)測(cè)到懸浮窗后進(jìn)行比對(duì),確定是否需要攔截該懸浮窗。當(dāng)然,作為另一可選實(shí)施例,還可以通過(guò)獲取惡意軟件的安裝文件,分析并提取獲取的安裝文件的特征信息,將提取的特征信息保存到懸浮窗特征信息庫(kù),并依據(jù)提取的特征信息確定是否需要攔截該惡意軟件對(duì)應(yīng)的懸浮窗。[0117]本發(fā)明實(shí)施例中,如果繪制懸浮窗請(qǐng)求中攜帶的懸浮窗特征信息與預(yù)先設(shè)置的懸浮窗特征信息庫(kù)中的任一特征信息匹配,則確定攜帶的懸浮窗特征信息與預(yù)先設(shè)置的懸浮窗特征信息庫(kù)相匹配。[0118]作為可選實(shí)施例,對(duì)于繪制懸浮窗請(qǐng)求中攜帶的懸浮窗特征信息與預(yù)先設(shè)置的懸浮窗特征信息庫(kù)不相匹配的情形,該方法進(jìn)一步包括:[0119]展示繪制懸浮窗請(qǐng)求對(duì)應(yīng)的懸浮窗;或者,[0120]將繪制懸浮窗請(qǐng)求中攜帶的懸浮窗特征信息向用戶展示,并提示用戶是否允許展示,如果允許,展示繪制懸浮窗請(qǐng)求對(duì)應(yīng)的懸浮窗,如果不允許,攔截該繪制懸浮窗請(qǐng)求。[0121]本步驟中,在確定需要對(duì)懸浮窗進(jìn)行攔截后,可以先不攔截,并向用戶顯示提示信息,用戶可以根據(jù)顯示的提示信息選擇是否消除待顯示的懸浮窗并禁止再次彈出,或者選擇不需要顯示提示信息。這樣,可以將用戶的選擇進(jìn)行存儲(chǔ),后續(xù)流程中,在監(jiān)測(cè)到繪制懸浮窗請(qǐng)求后,如果存儲(chǔ)有用戶明確指示的不再允許該懸浮窗,則本發(fā)明實(shí)施例在惡意軟件調(diào)用智能終端操作系統(tǒng)顯示接口,讀取懸浮窗顯示函數(shù)或服務(wù)顯示接口的過(guò)程中,對(duì)調(diào)用進(jìn)行攔截,不允許惡意軟件再次顯示懸浮窗。[0122]舉例來(lái)說(shuō),對(duì)于一提示懸浮窗的實(shí)例,例如,顯示以提示框顯示的提示信息:發(fā)現(xiàn)XX彈出的懸浮窗,你可以選擇:不再提示我;或者,禁止該軟件再?gòu)?。如果用戶點(diǎn)擊不再提示我控件按鈕,則在后續(xù)該應(yīng)用程序軟件顯示懸浮窗時(shí),直接顯示懸浮窗,而無(wú)需再?gòu)棾鲆蕴崾究蝻@示的提示信息;如果用戶點(diǎn)擊禁止該軟件再?gòu)椏丶粹o,則在后續(xù)該應(yīng)用程序軟件顯示懸浮窗時(shí),直接攔截懸浮窗,并將該懸浮窗移除或者將該懸浮窗設(shè)置為不可見(jiàn),也不再?gòu)棾鲆蕴崾究蝻@示的提示信息,從而達(dá)到用戶不受懸浮窗影響的目的。[0123]作為可選實(shí)施例,在用戶選取不允許后,該方法進(jìn)一步包括:[0124]將繪制懸浮窗請(qǐng)求中攜帶的懸浮窗特征信息保存至所述預(yù)先設(shè)置的懸浮窗特征信息庫(kù)。[0125]進(jìn)一步地,作為另一可選實(shí)施例,按照預(yù)先設(shè)置的懸浮窗處理策略,處理所述繪制懸浮窗請(qǐng)求包括:[0126]將繪制懸浮窗請(qǐng)求中攜帶的懸浮窗特征信息與預(yù)先設(shè)置的懸浮窗特征信息庫(kù)進(jìn)行特征信息匹配,如果相匹配,將預(yù)先設(shè)置的加載內(nèi)容替換繪制懸浮窗請(qǐng)求對(duì)應(yīng)的懸浮窗中的內(nèi)容,并將加載有預(yù)先設(shè)置的加載內(nèi)容的懸浮窗進(jìn)行展示。[0127]本步驟中,可以根據(jù)懸浮窗的類型設(shè)置加載內(nèi)容。其中,懸浮窗的類型可以包括:基于對(duì)象和事件驅(qū)動(dòng)的客戶端腳本語(yǔ)言(JS,JavaScript)、可移植網(wǎng)絡(luò)圖形格式(PNG,PortableNetworkGraphicFormat)、超文本標(biāo)記語(yǔ)言(HTML,HypertextMarkupLanguage)、圖像交換格式(GIF,GraphicsInterchangeFormat)、可擴(kuò)展標(biāo)記語(yǔ)言(XML,ExtensibleMarkupLanguage)等,也可為其他能夠顯示懸浮窗內(nèi)容的類型,本發(fā)明對(duì)此不做限定。[0128]本發(fā)明實(shí)施例中,加載內(nèi)容可根據(jù)上述不同懸浮窗的類型,設(shè)置為具有空內(nèi)容信息或者其他不影響加載和顯示的內(nèi)容信息。例如,如果懸浮窗的類型為GIF,則加載內(nèi)容可以設(shè)置為空白GIF。再例如,加載內(nèi)容可包括圖片內(nèi)容、文字內(nèi)容及鏈接內(nèi)容等,相對(duì)應(yīng)的,圖片內(nèi)容對(duì)應(yīng)的懸浮窗的類型為PNG、GIF等;文字內(nèi)容對(duì)應(yīng)的懸浮窗的類型可為HTML、XML等;鏈接內(nèi)容對(duì)應(yīng)的懸浮窗的類型可為JS、HTML、XML等。[0129]作為另一可選實(shí)施例,在處理所述繪制懸浮窗請(qǐng)求后,所述方法進(jìn)一步包括:[0130]向智能終端設(shè)備發(fā)送消息提醒;和/或,[0131]對(duì)所述第三方應(yīng)用程序進(jìn)行安全掃描;和/或,[0132]卸載所述第三方應(yīng)用程序;和/或,[0133]為所述第三方應(yīng)用程序設(shè)置隱私訪問(wèn)權(quán)限。[0134]本發(fā)明實(shí)施例中,通過(guò)利用提升權(quán)限的方法注入懸浮窗處理程序,從而可以在第三方應(yīng)用程序發(fā)起繪制懸浮窗請(qǐng)求時(shí),或者,在第三方應(yīng)用程序發(fā)起的繪制懸浮窗請(qǐng)求輸出至智能終端設(shè)備操作系統(tǒng)時(shí),先調(diào)用懸浮窗處理程序?qū)L制懸浮窗請(qǐng)求進(jìn)行處理,以確定是否進(jìn)行攔截??梢杂行Ы孬@利用操作系統(tǒng)的顯示接口繪制的懸浮窗,避免展示的懸浮窗對(duì)用戶造成干擾和困惑,也降低了用戶在使用網(wǎng)銀等應(yīng)用程序軟件時(shí),被欺騙在惡意應(yīng)用程序軟件彈出的懸浮窗中輸入敏感信息導(dǎo)致的不必要物質(zhì)損失以及隱私信息泄露,從而提升懸浮窗的攔截效率,提升用戶的業(yè)務(wù)體驗(yàn)。[0135]圖2示出了本發(fā)明實(shí)施例懸浮窗處理裝置結(jié)構(gòu)。參見(jiàn)圖2,該裝置包括:注入模塊、啟動(dòng)模塊以及處理模塊,其中,[0136]注入模塊,用于在第三方應(yīng)用程序和/或智能終端設(shè)備操作系統(tǒng)中注入預(yù)先設(shè)置的懸浮窗處理程序;[0137]本發(fā)明實(shí)施例中,注入模塊包括:第三方應(yīng)用程序注入單元以及智能終端設(shè)備操作系統(tǒng)注入單元(圖中未示出),其中,[0138]第三方應(yīng)用程序注入單元,用于在第三方應(yīng)用程序中注入預(yù)先設(shè)置的懸浮窗處理程序的分析以及回調(diào)模塊,所述注入的分析以及回調(diào)模塊用于替換第三方應(yīng)用程序的顯示管理模塊,且所述注入的分析以及回調(diào)模塊中設(shè)置有懸浮窗顯示函數(shù)或服務(wù)顯示接口;[0139]本發(fā)明實(shí)施例中,通過(guò)調(diào)用WindowManager的addview方法,將分析以及回調(diào)模塊中預(yù)先設(shè)置的懸浮窗顯示函數(shù)或服務(wù)顯示接口,替換第三方應(yīng)用程序的顯示管理模塊中相應(yīng)的懸浮窗顯示函數(shù)或服務(wù)顯示接口。具體來(lái)說(shuō),通過(guò)調(diào)用WindowManager的addview方法,查找第三方應(yīng)用程序的顯示管理模塊進(jìn)程中的懸浮窗顯示函數(shù)或服務(wù)顯示接口的內(nèi)存變量;將所述懸浮窗顯示函數(shù)或服務(wù)顯示接口的內(nèi)存變量替換為預(yù)先設(shè)置的懸浮窗處理程序的分析以及回調(diào)模塊中的懸浮窗顯示函數(shù)或服務(wù)顯示接口的內(nèi)存變量。其中,[0140]將所述懸浮窗顯示函數(shù)或服務(wù)顯示接口的內(nèi)存變量替換為預(yù)先設(shè)置的懸浮窗處理程序的分析以及回調(diào)模塊中的懸浮窗顯示函數(shù)或服務(wù)顯示接口的內(nèi)存變量具體為:[0141]將懸浮窗處理程序的分析以及回調(diào)模塊中的懸浮窗顯示函數(shù)或服務(wù)顯示接口的內(nèi)存變量對(duì)應(yīng)的代碼寫(xiě)入動(dòng)態(tài)鏈接庫(kù)中,利用操作系統(tǒng)中的windows鉤子將寫(xiě)入動(dòng)態(tài)鏈接庫(kù)中的懸浮窗處理程序的內(nèi)存變量代碼映射到顯示管理模塊進(jìn)程;或者,[0142]將懸浮窗處理程序的分析以及回調(diào)模塊中的懸浮窗顯示函數(shù)或服務(wù)顯示接口的內(nèi)存變量對(duì)應(yīng)的代碼寫(xiě)入動(dòng)態(tài)鏈接庫(kù)中,利用操作系統(tǒng)中的遠(yuǎn)程注入(CreatRemoteThread)以及動(dòng)態(tài)加載(LoadLibrary)將寫(xiě)入動(dòng)態(tài)鏈接庫(kù)中的懸浮窗處理程序的內(nèi)存變量代碼映射到顯示管理模塊進(jìn)程;或者,[0143]利用系統(tǒng)進(jìn)程監(jiān)視器(WriteProcessMemory),將懸浮窗處理程序的分析以及回調(diào)模塊中的懸浮窗顯示函數(shù)或服務(wù)顯示接口的內(nèi)存變量對(duì)應(yīng)的代碼復(fù)制到顯示管理模塊進(jìn)程,并利用遠(yuǎn)程注入(CreatRemoteThread)執(zhí)行。[0144]智能終端設(shè)備操作系統(tǒng)注入單元,用于在智能終端設(shè)備操作系統(tǒng)中的顯示服務(wù)模塊注入預(yù)先設(shè)置的懸浮窗處理程序,所述懸浮窗處理程序中設(shè)置有懸浮窗顯示函數(shù)或服務(wù)顯示接口,用于替換所述顯示服務(wù)模塊中的懸浮窗顯示函數(shù)或服務(wù)顯示接口。[0145]本發(fā)明實(shí)施例中,通過(guò)調(diào)用WindowSession類的add方法或WindowSession類的addToDisplay方法,將懸浮窗處理程序中預(yù)先設(shè)置的懸浮窗顯示函數(shù)替換顯示服務(wù)模塊中的懸浮窗顯示函數(shù);或者,將懸浮窗處理程序中預(yù)先設(shè)置的服務(wù)顯示接口替換顯示服務(wù)模塊中的服務(wù)顯示接口。其中,替換所述顯示服務(wù)模塊中的懸浮窗顯示函數(shù)或服務(wù)顯示接口包括:[0146]查找智能終端設(shè)備操作系統(tǒng)的顯示服務(wù)模塊進(jìn)程中的懸浮窗顯示函數(shù)或服務(wù)顯示接口的內(nèi)存變量;[0147]將所述懸浮窗顯示函數(shù)或服務(wù)顯示接口的內(nèi)存變量替換為預(yù)先設(shè)置的懸浮窗處理程序用于懸浮窗顯示調(diào)用的懸浮窗顯示函數(shù)或服務(wù)顯示接口的內(nèi)存變量。[0148]啟動(dòng)模塊,用于啟動(dòng)注入模塊中預(yù)先注入的懸浮窗處理程序;[0149]本發(fā)明實(shí)施例中,啟動(dòng)模塊為可選模塊。如果是在第三方應(yīng)用程序中注入懸浮窗處理程序,則在第三方應(yīng)用程序發(fā)起繪制懸浮窗請(qǐng)求的同時(shí)或之后,自動(dòng)觸發(fā)啟動(dòng)注入在第三方應(yīng)用程序中的懸浮窗處理程序;如果是在智能終端設(shè)備操作系統(tǒng)中注入懸浮窗處理程序,則在智能終端設(shè)備操作系統(tǒng)接收到繪制懸浮窗請(qǐng)求的同時(shí)或之后,觸發(fā)啟動(dòng)注入在智能終端設(shè)備操作系統(tǒng)中的懸浮窗處理程序。[0150]處理模塊,用于在啟動(dòng)的懸浮窗處理程序識(shí)別到第三方應(yīng)用程序發(fā)出的繪制懸浮窗請(qǐng)求后,按照預(yù)先設(shè)置的懸浮窗處理策略,處理所述繪制懸浮窗請(qǐng)求。[0151]本發(fā)明實(shí)施例中,處理模塊包括:監(jiān)測(cè)單元、攔截單元、提取單元以及匹配處理單元(圖中未示出),其中,[0152]監(jiān)測(cè)單元,用于監(jiān)測(cè)第三方應(yīng)用程序發(fā)出的繪制懸浮窗請(qǐng)求,在監(jiān)測(cè)到第三方應(yīng)用程序發(fā)出繪制懸浮窗請(qǐng)求后,通知攔截單元;[0153]攔截單元,用于根據(jù)來(lái)自監(jiān)測(cè)單元的通知,暫攔截第三方應(yīng)用程序發(fā)出的繪制懸浮窗請(qǐng)求,接收來(lái)自匹配處理單元的通知,攔截或放行暫攔截的繪制懸浮窗請(qǐng)求;[0154]提取單元,用于提取攔截的繪制懸浮窗請(qǐng)求中攜帶的懸浮窗特征信息,輸出至匹配處理單元;[0155]本發(fā)明實(shí)施例中,懸浮窗特征信息包括:窗口布局文件路徑信息、窗口圖片資源文件路徑信息、窗口布局文件名稱信息、窗口圖片資源文件名稱信息、窗口文本文字信息中的一種或其任意組合。[0156]匹配處理單元,用于將接收的懸浮窗特征信息與預(yù)先設(shè)置的懸浮窗特征信息庫(kù)進(jìn)行特征信息匹配,如果相匹配,通知攔截單元攔截繪制懸浮窗請(qǐng)求,如果不相匹配,通知攔截單元放行繪制懸浮窗請(qǐng)求。[0157]本發(fā)明實(shí)施例中,如果繪制懸浮窗請(qǐng)求中攜帶的懸浮窗特征信息與預(yù)先設(shè)置的懸浮窗特征信息庫(kù)中的任一特征信息匹配,則確定攜帶的懸浮窗特征信息與預(yù)先設(shè)置的懸浮窗特征信息庫(kù)相匹配。[0158]作為可選實(shí)施例,該裝置還可以進(jìn)一步包括:[0159]根權(quán)限獲取模塊,用于獲取第三方應(yīng)用程序或智能終端設(shè)備操作系統(tǒng)的根權(quán)限。[0160]作為另一可選實(shí)施例,該裝置還可以進(jìn)一步包括:[0161]懸浮窗處理程序設(shè)置模塊,用于調(diào)用Windows操作系統(tǒng)的SetWindowsHookEx接口,設(shè)置用于識(shí)別懸浮窗的懸浮窗處理程序。[0162]作為再一可選實(shí)施例,該裝置還可以進(jìn)一步包括:[0163]展示模塊(圖中未示出),用于在監(jiān)測(cè)到攔截單元放行暫攔截的繪制懸浮窗請(qǐng)求后,展示繪制懸浮窗請(qǐng)求對(duì)應(yīng)的懸浮窗。[0164]較佳地,該裝置還可以進(jìn)一步包括:提示模塊、選擇處理模塊以及展示模塊(圖中未示出),其中,[0165]提示模塊,用于在監(jiān)測(cè)到攔截單元放行暫攔截的繪制懸浮窗請(qǐng)求后,將繪制懸浮窗請(qǐng)求中攜帶的懸浮窗特征信息向用戶展示,并提示用戶是否允許展示;[0166]選擇處理模塊,用于在用戶選擇允許展示后,通知展示模塊展示繪制懸浮窗請(qǐng)求對(duì)應(yīng)的懸浮窗;在用戶選擇不允許展示后,攔截繪制懸浮窗請(qǐng)求。[0167]本發(fā)明實(shí)施例中,在用戶選取不允許后,選擇處理模塊還可以進(jìn)一步通知提取單元將繪制懸浮窗請(qǐng)求中攜帶的懸浮窗特征信息保存至所述預(yù)先設(shè)置的懸浮窗特征信息庫(kù)。[0168]本發(fā)明實(shí)施例中,作為另一可選實(shí)施例,按照預(yù)先設(shè)置的懸浮窗處理策略,處理所述繪制懸浮窗請(qǐng)求包括:[0169]將繪制懸浮窗請(qǐng)求中攜帶的懸浮窗特征信息與預(yù)先設(shè)置的懸浮窗特征信息庫(kù)進(jìn)行特征信息匹配,如果相匹配,將預(yù)先設(shè)置的加載內(nèi)容替換繪制懸浮窗請(qǐng)求對(duì)應(yīng)的懸浮窗中的內(nèi)容,并將加載有預(yù)先設(shè)置的加載內(nèi)容的懸浮窗進(jìn)行展示。[0170]作為可選實(shí)施例,所述裝置進(jìn)一步包括:[0171]擴(kuò)展模塊(圖中未示出),用于在處理所述繪制懸浮窗請(qǐng)求后,向智能終端設(shè)備發(fā)送消息提醒;和/或,[0172]對(duì)所述第三方應(yīng)用進(jìn)行安全掃描;和/或,[0173]卸載所述第三方應(yīng)用;和/或,[0174]為所述第三方應(yīng)用設(shè)置隱私訪問(wèn)權(quán)限。[0175]在此提供的算法和顯示不與任何特定計(jì)算機(jī)、虛擬系統(tǒng)或者其它設(shè)備固有相關(guān)。各種通用系統(tǒng)也可以與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造這類系統(tǒng)所要求的結(jié)構(gòu)是顯而易見(jiàn)的。此外,本發(fā)明也不針對(duì)任何特定編程語(yǔ)言。應(yīng)當(dāng)明白,可以利用各種編程語(yǔ)言實(shí)現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對(duì)特定語(yǔ)言所做的描述是為了披露本發(fā)明的最佳實(shí)施方式。[0176]在此處所提供的說(shuō)明書(shū)中,說(shuō)明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實(shí)施例可以在沒(méi)有這些具體細(xì)節(jié)的情況下實(shí)踐。在一些實(shí)例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對(duì)本說(shuō)明書(shū)的理解。[0177]類似地,應(yīng)當(dāng)理解,為了精簡(jiǎn)本公開(kāi)并幫助理解各個(gè)發(fā)明方面中的一個(gè)或多個(gè),在上面對(duì)本發(fā)明的示例性實(shí)施例的描述中,本發(fā)明的各個(gè)特征有時(shí)被一起分組到單個(gè)實(shí)施例、圖、或者對(duì)其的描述中。然而,并不應(yīng)將該公開(kāi)的方法解釋成反映如下意圖:即所要求保護(hù)的本發(fā)明要求比在每個(gè)權(quán)利要求中所明確記載的特征更多的特征。更確切地說(shuō),如下面的權(quán)利要求書(shū)所反映的那樣,發(fā)明方面在于少于前面公開(kāi)的單個(gè)實(shí)施例的所有特征。因此,遵循【具體實(shí)施方式】的權(quán)利要求書(shū)由此明確地并入該【具體實(shí)施方式】,其中每個(gè)權(quán)利要求本身都作為本發(fā)明的單獨(dú)實(shí)施例。[0178]本領(lǐng)域那些技術(shù)人員可以理解,可以對(duì)實(shí)施例中的設(shè)備中的模塊進(jìn)行自適應(yīng)性地改變并且把它們?cè)O(shè)置在與該實(shí)施例不同的一個(gè)或多個(gè)設(shè)備中??梢园褜?shí)施例中的模塊或單元或組件組合成一個(gè)模塊或單元或組件,以及此外可以把它們分成多個(gè)子模塊或子單元或子組件。除了這樣的特征和/或過(guò)程或者單元中的至少一些是相互排斥之外,可以采用任何組合對(duì)本說(shuō)明書(shū)(包括伴隨的權(quán)利要求、摘要和附圖)中公開(kāi)的所有特征以及如此公開(kāi)的任何方法或者設(shè)備的所有過(guò)程或單元進(jìn)行組合。除非另外明確陳述,本說(shuō)明書(shū)(包括伴隨的權(quán)利要求、摘要和附圖)中公開(kāi)的每個(gè)特征可以由提供相同、等同或相似目的的替代特征來(lái)代替。[0179]此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實(shí)施例包括其它實(shí)施例中所包括的某些特征而不是其它特征,但是不同實(shí)施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實(shí)施例。例如,在下面的權(quán)利要求書(shū)中,所要求保護(hù)的實(shí)施例的任意之一都可以以任意的組合方式來(lái)使用。[0180]本發(fā)明的各個(gè)部件實(shí)施例可以以硬件實(shí)現(xiàn),或者以在一個(gè)或者多個(gè)處理器上運(yùn)行的軟件模塊實(shí)現(xiàn),或者以它們的組合實(shí)現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實(shí)踐中使用微處理器或者數(shù)字信號(hào)處理器(DSP)來(lái)實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的懸浮窗處理裝置中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實(shí)現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計(jì)算機(jī)程序和計(jì)算機(jī)程序產(chǎn)品)。這樣的實(shí)現(xiàn)本發(fā)明的程序可以存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上,或者可以具有一個(gè)或者多個(gè)信號(hào)的形式。這樣的信號(hào)可以從因特網(wǎng)網(wǎng)站服務(wù)器上下載得到,或者在載體信號(hào)上提供,或者以任何其他形式提供。[0181]應(yīng)該注意的是上述實(shí)施例對(duì)本發(fā)明進(jìn)行說(shuō)明而不是對(duì)本發(fā)明進(jìn)行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計(jì)出替換實(shí)施例。在權(quán)利要求中,不應(yīng)將位于括號(hào)之間的任何參考符號(hào)構(gòu)造成對(duì)權(quán)利要求的限制。單詞"包含"不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞"一"或"一個(gè)"不排除存在多個(gè)這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計(jì)算機(jī)來(lái)實(shí)現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個(gè)可以是通過(guò)同一個(gè)硬件項(xiàng)來(lái)具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱。[0182]本發(fā)明公開(kāi)了A1、一種處理懸浮窗的方法,包括:[0183]在第三方應(yīng)用程序和/或智能終端設(shè)備操作系統(tǒng)中注入預(yù)先設(shè)置的懸浮窗處理程序;[0184]所述懸浮窗處理程序在識(shí)別到第三方應(yīng)用程序發(fā)出的繪制懸浮窗請(qǐng)求后,按照預(yù)先設(shè)置的懸浮窗處理策略,處理所述繪制懸浮窗請(qǐng)求。[0185]A2.根據(jù)A1所述的方法,所述按照預(yù)先設(shè)置的懸浮窗處理策略,處理所述繪制懸浮窗請(qǐng)求包括:[0186]將繪制懸浮窗請(qǐng)求中攜帶的懸浮窗特征信息與預(yù)先設(shè)置的懸浮窗特征信息庫(kù)進(jìn)行特征信息匹配,如果相匹配,則攔截該繪制懸浮窗請(qǐng)求。[0187]A3.根據(jù)A2所述的方法,所述懸浮窗特征信息包括:窗口布局文件路徑信息、窗口圖片資源文件路徑信息、窗口布局文件名稱信息、窗口圖片資源文件名稱信息、窗口文本文字信息中的一種或其任意組合。[0188]A4.根據(jù)A2所述的方法,所述方法進(jìn)一步包括:[0189]如果繪制懸浮窗請(qǐng)求中攜帶的懸浮窗特征信息與預(yù)先設(shè)置的懸浮窗特征信息庫(kù)不相匹配,展示繪制懸浮窗請(qǐng)求對(duì)應(yīng)的懸浮窗。[0190]A5.根據(jù)A2所述的方法,所述方法進(jìn)一步包括:[0191]如果繪制懸浮窗請(qǐng)求中攜帶的懸浮窗特征信息與預(yù)先設(shè)置的懸浮窗特征信息庫(kù)不相匹配,將繪制懸浮窗請(qǐng)求中攜帶的懸浮窗特征信息向用戶展示,并提示用戶是否允許展示,如果允許,展示繪制懸浮窗請(qǐng)求對(duì)應(yīng)的懸浮窗,如果不允許,攔截該繪制懸浮窗請(qǐng)求。[0192]A6.根據(jù)A5所述的方法,所述方法進(jìn)一步包括:[0193]將繪制懸浮窗請(qǐng)求中攜帶的懸浮窗特征信息保存至所述預(yù)先設(shè)置的懸浮窗特征信息庫(kù)。[0194]A7.根據(jù)A1所述的方法,所述按照預(yù)先設(shè)置的懸浮窗處理策略,處理所述繪制懸浮窗請(qǐng)求包括:[0195]將繪制懸浮窗請(qǐng)求中攜帶的懸浮窗特征信息與預(yù)先設(shè)置的懸浮窗特征信息庫(kù)進(jìn)行特征信息匹配,如果相匹配,將預(yù)先設(shè)置的加載內(nèi)容替換繪制懸浮窗請(qǐng)求對(duì)應(yīng)的懸浮窗中的內(nèi)容,并將加載有預(yù)先設(shè)置的加載內(nèi)容的懸浮窗進(jìn)行展示。[0196]A8.根據(jù)A2或A7所述的方法,在處理所述繪制懸浮窗請(qǐng)求后,所述方法進(jìn)一步包括:[0197]向智能終端設(shè)備發(fā)送消息提醒;和/或,[0198]對(duì)所述第三方應(yīng)用程序進(jìn)行安全掃描;和/或,[0199]卸載所述第三方應(yīng)用程序;和/或,[0200]為所述第三方應(yīng)用程序設(shè)置隱私訪問(wèn)權(quán)限。[0201]A9.根據(jù)A1所述的方法,所述在第三方應(yīng)用程序中注入預(yù)先設(shè)置的懸浮窗處理程序包括:[0202]在第三方應(yīng)用程序中注入預(yù)先設(shè)置的懸浮窗處理程序的分析以及回調(diào)模塊,所述注入的分析以及回調(diào)模塊用于替換第三方應(yīng)用程序的顯示管理模塊,且所述注入的分析以及回調(diào)模塊中設(shè)置有懸浮窗顯示函數(shù)或服務(wù)顯示接口。[0203]A10.根據(jù)A9所述的方法,所述注入的分析以及回調(diào)模塊用于替換第三方應(yīng)用程序的顯示管理模塊包括:[0204]調(diào)用WindowManager的addview方法,將分析以及回調(diào)模塊中預(yù)先設(shè)置的懸浮窗顯示函數(shù)或服務(wù)顯示接口,替換第三方應(yīng)用程序的顯示管理模塊中相應(yīng)的懸浮窗顯示函數(shù)或服務(wù)顯示接口。[0205]All.根據(jù)A10所述的方法,所述將分析以及回調(diào)模塊中預(yù)先設(shè)置的懸浮窗顯示函數(shù)或服務(wù)顯示接口,替換第三方應(yīng)用程序的顯示管理模塊中相應(yīng)的懸浮窗顯示函數(shù)或服務(wù)顯示接口包括:[0206]查找第三方應(yīng)用程序的顯示管理模塊進(jìn)程中的懸浮窗顯示函數(shù)或服務(wù)顯示接口的內(nèi)存變量;[0207]將所述懸浮窗顯示函數(shù)或服務(wù)顯示接口的內(nèi)存變量替換為預(yù)先設(shè)置的懸浮窗處理程序的分析以及回調(diào)模塊中的懸浮窗顯示函數(shù)或服務(wù)顯示接口的內(nèi)存變量。[0208]A12.根據(jù)A1所述的方法,所述在智能終端設(shè)備操作系統(tǒng)中注入預(yù)先設(shè)置的懸浮窗處理程序包括:[0209]在智能終端設(shè)備操作系統(tǒng)中的顯示服務(wù)模塊注入預(yù)先設(shè)置的懸浮窗處理程序,所述懸浮窗處理程序中設(shè)置有懸浮窗顯示函數(shù)或服務(wù)顯示接口,用于替換所述顯示服務(wù)模塊中的懸浮窗顯示函數(shù)或服務(wù)顯示接口。[0210]A13.根據(jù)A1所述的方法,在注入預(yù)先設(shè)置的懸浮窗處理程序之前,所述方法可以進(jìn)一步包括:[0211]獲取第三方應(yīng)用程序或智能終端設(shè)備操作系統(tǒng)的根權(quán)限。[0212]A14.根據(jù)A1所述的方法,在注入預(yù)先設(shè)置的懸浮窗處理程序之前,所述方法進(jìn)一步包括:[0213]調(diào)用Windows操作系統(tǒng)的SetWindowsHookEx接口,設(shè)置用于識(shí)別懸浮窗的懸浮窗處理程序。[0214]A15.-種懸浮窗處理裝置,該裝置包括:注入模塊以及處理模塊,其中,[0215]注入模塊,用于在第三方應(yīng)用程序和/或智能終端設(shè)備操作系統(tǒng)中注入預(yù)先設(shè)置的懸浮窗處理程序;[0216]處理模塊,用于在所述懸浮窗處理程序識(shí)別到第三方應(yīng)用程序發(fā)出的繪制懸浮窗請(qǐng)求后,按照預(yù)先設(shè)置的懸浮窗處理策略,處理所述繪制懸浮窗請(qǐng)求。[0217]A16.根據(jù)A15所述的裝置,所述注入模塊包括:第三方應(yīng)用程序注入單元以及智能終端設(shè)備操作系統(tǒng)注入單元,其中,[0218]第三方應(yīng)用程序注入單元,用于在第三方應(yīng)用程序中注入預(yù)先設(shè)置的懸浮窗處理程序的分析以及回調(diào)模塊,所述注入的分析以及回調(diào)模塊用于替換第三方應(yīng)用程序的顯示管理模塊,且所述注入的分析以及回調(diào)模塊中設(shè)置有懸浮窗顯示函數(shù)或服務(wù)顯示接口;[0219]智能終端設(shè)備操作系統(tǒng)注入單元,用于在智能終端設(shè)備操作系統(tǒng)中的顯示服務(wù)模塊注入預(yù)先設(shè)置的懸浮窗處理程序,所述懸浮窗處理程序中設(shè)置有懸浮窗顯示函數(shù)或服務(wù)顯示接口,用于替換所述顯示服務(wù)模塊中的懸浮窗顯示函數(shù)或服務(wù)顯示接口。[0220]A17.根據(jù)A15所述的裝置,所述處理模塊包括:監(jiān)測(cè)單元、攔截單元、提取單元以及匹配處理單元,其中,[0221]監(jiān)測(cè)單元,用于監(jiān)測(cè)第三方應(yīng)用程序發(fā)出的繪制懸浮窗請(qǐng)求,在監(jiān)測(cè)到第三方應(yīng)用程序發(fā)出繪制懸浮窗請(qǐng)求后,通知攔截單元;[0222]攔截單元,用于根據(jù)來(lái)自監(jiān)測(cè)單元的通知,暫攔截第三方應(yīng)用程序發(fā)出的繪制懸浮窗請(qǐng)求,接收來(lái)自匹配處理單元的通知,攔截或放行暫攔截的繪制懸浮窗請(qǐng)求;[0223]提取單元,用于提取攔截的繪制懸浮窗請(qǐng)求中攜帶的懸浮窗特征信息,輸出至匹配處理單元;[0224]匹配處理單元,用于將接收的懸浮窗特征信息與預(yù)先設(shè)置的懸浮窗特征信息庫(kù)進(jìn)行特征信息匹配,如果相匹配,通知攔截單元攔截繪制懸浮窗請(qǐng)求,如果不相匹配,通知攔截單元放行繪制懸浮窗請(qǐng)求。[0225]A18.根據(jù)A15所述的裝置,所述裝置進(jìn)一步包括:[0226]根權(quán)限獲取模塊,用于獲取第三方應(yīng)用程序或智能終端設(shè)備操作系統(tǒng)的根權(quán)限。[0227]A19.根據(jù)A15所述的裝置,所述裝置進(jìn)一步包括:[0228]懸浮窗處理程序設(shè)置模塊,用于調(diào)用Windows操作系統(tǒng)的SetWindowsHookEx接口,設(shè)置用于識(shí)別懸浮窗的懸浮窗處理程序。[0229]A20.根據(jù)A15所述的裝置,所述裝置進(jìn)一步包括:提示模塊、選擇處理模塊以及展示模塊,其中,[0230]提示模塊,用于在監(jiān)測(cè)到攔截單元放行暫攔截的繪制懸浮窗請(qǐng)求后,將繪制懸浮窗請(qǐng)求中攜帶的懸浮窗特征信息向用戶展示,并提示用戶是否允許展示;[0231]選擇處理模塊,用于在用戶選擇允許展示后,通知展示模塊展示繪制懸浮窗請(qǐng)求對(duì)應(yīng)的懸浮窗;在用戶選擇不允許展示后,攔截繪制懸浮窗請(qǐng)求。[0232]A21.根據(jù)A20所述的裝置,在用戶選取不允許后,所述選擇處理模塊還可以進(jìn)一步通知提取單元將繪制懸浮窗請(qǐng)求中攜帶的懸浮窗特征信息保存至所述預(yù)先設(shè)置的懸浮窗特征信息庫(kù)。[0233]A22.根據(jù)A15所述的裝置,所述裝置進(jìn)一步包括:[0234]擴(kuò)展模塊,用于在處理所述繪制懸浮窗請(qǐng)求后,向智能終端設(shè)備發(fā)送消息提醒;和/或,[0235]對(duì)所述第三方應(yīng)用進(jìn)行安全掃描;和/或,[0236]卸載所述第三方應(yīng)用;和/或,[0237]為所述第三方應(yīng)用設(shè)置隱私訪問(wèn)權(quán)限?!緳?quán)利要求】1.一種處理懸浮窗的方法,包括:在第三方應(yīng)用程序和/或智能終端設(shè)備操作系統(tǒng)中注入預(yù)先設(shè)置的懸浮窗處理程序;所述懸浮窗處理程序在識(shí)別到第三方應(yīng)用程序發(fā)出的繪制懸浮窗請(qǐng)求后,按照預(yù)先設(shè)置的懸浮窗處理策略,處理所述繪制懸浮窗請(qǐng)求。2.如權(quán)利要求1所述的方法,所述按照預(yù)先設(shè)置的懸浮窗處理策略,處理所述繪制懸浮窗請(qǐng)求包括:將繪制懸浮窗請(qǐng)求中攜帶的懸浮窗特征信息與預(yù)先設(shè)置的懸浮窗特征信息庫(kù)進(jìn)行特征信息匹配,如果相匹配,則攔截該繪制懸浮窗請(qǐng)求。3.如權(quán)利要求2所述的方法,所述懸浮窗特征信息包括:窗口布局文件路徑信息、窗口圖片資源文件路徑信息、窗口布局文件名稱信息、窗口圖片資源文件名稱信息、窗口文本文字信息中的一種或其任意組合。4.如權(quán)利要求2所述的方法,所述方法進(jìn)一步包括:如果繪制懸浮窗請(qǐng)求中攜帶的懸浮窗特征信息與預(yù)先設(shè)置的懸浮窗特征信息庫(kù)不相匹配,展示繪制懸浮窗請(qǐng)求對(duì)應(yīng)的懸浮窗。5.如權(quán)利要求2所述的方法,所述方法進(jìn)一步包括:如果繪制懸浮窗請(qǐng)求中攜帶的懸浮窗特征信息與預(yù)先設(shè)置的懸浮窗特征信息庫(kù)不相匹配,將繪制懸浮窗請(qǐng)求中攜帶的懸浮窗特征信息向用戶展示,并提示用戶是否允許展示,如果允許,展示繪制懸浮窗請(qǐng)求對(duì)應(yīng)的懸浮窗,如果不允許,攔截該繪制懸浮窗請(qǐng)求。6.如權(quán)利要求5所述的方法,所述方法進(jìn)一步包括:將繪制懸浮窗請(qǐng)求中攜帶的懸浮窗特征信息保存至所述預(yù)先設(shè)置的懸浮窗特征信息庫(kù)。7.如權(quán)利要求1所述的方法,所述按照預(yù)先設(shè)置的懸浮窗處理策略,處理所述繪制懸浮窗請(qǐng)求包括:將繪制懸浮窗請(qǐng)求中攜帶的懸浮窗特征信息與預(yù)先設(shè)置的懸浮窗特征信息庫(kù)進(jìn)行特征信息匹配,如果相匹配,將預(yù)先設(shè)置的加載內(nèi)容替換繪制懸浮窗請(qǐng)求對(duì)應(yīng)的懸浮窗中的內(nèi)容,并將加載有預(yù)先設(shè)置的加載內(nèi)容的懸浮窗進(jìn)行展示。8.如權(quán)利要求2或7所述的方法,在處理所述繪制懸浮窗請(qǐng)求后,所述方法進(jìn)一步包括:向智能終端設(shè)備發(fā)送消息提醒;和/或,對(duì)所述第三方應(yīng)用程序進(jìn)行安全掃描;和/或,卸載所述第三方應(yīng)用程序;和/或,為所述第三方應(yīng)用程序設(shè)置隱私訪問(wèn)權(quán)限。9.一種懸浮窗處理裝置,該裝置包括:注入模塊以及處理模塊,其中,注入模塊,用于在第三方應(yīng)用程序和/或智能終端設(shè)備操作系統(tǒng)中注入預(yù)先設(shè)置的懸浮窗處理程序;處理模塊,用于在所述懸浮窗處理程序識(shí)別到第三方應(yīng)用程序發(fā)出的繪制懸浮窗請(qǐng)求后,按照預(yù)先設(shè)置的懸浮窗處理策略,處理所述繪制懸浮窗請(qǐng)求。10.如權(quán)利要求9所述的裝置,所述注入模塊包括:第三方應(yīng)用程序注入單元以及智能終端設(shè)備操作系統(tǒng)注入單元,其中,第三方應(yīng)用程序注入單元,用于在第三方應(yīng)用程序中注入預(yù)先設(shè)置的懸浮窗處理程序的分析以及回調(diào)模塊,所述注入的分析以及回調(diào)模塊用于替換第三方應(yīng)用程序的顯示管理模塊,且所述注入的分析以及回調(diào)模塊中設(shè)置有懸浮窗顯示函數(shù)或服務(wù)顯示接口;智能終端設(shè)備操作系統(tǒng)注入單元,用于在智能終端設(shè)備操作系統(tǒng)中的顯示服務(wù)模塊注入預(yù)先設(shè)置的懸浮窗處理程序,所述懸浮窗處理程序中設(shè)置有懸浮窗顯示函數(shù)或服務(wù)顯示接口,用于替換所述顯示服務(wù)模塊中的懸浮窗顯示函數(shù)或服務(wù)顯示接口?!疚臋n編號(hào)】G06F21/56GK104091125SQ201410344872【公開(kāi)日】2014年10月8日申請(qǐng)日期:2014年7月18日優(yōu)先權(quán)日:2014年7月18日【發(fā)明者】丁祎,唐淳申請(qǐng)人:北京奇虎科技有限公司,奇智軟件(北京)有限公司