默認(rèn)瀏覽器的控制方法、裝置及終端的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及一種默認(rèn)瀏覽器的控制方法、裝置及終端。
【背景技術(shù)】
[0002]目前,當(dāng)用戶在聊天工具上點(diǎn)擊聊天工具中展現(xiàn)的網(wǎng)址時(shí),會(huì)調(diào)用系統(tǒng)當(dāng)前默認(rèn)瀏覽器打開(kāi)該網(wǎng)址。但是,如果系統(tǒng)當(dāng)前默認(rèn)瀏覽器不具備網(wǎng)址安全性檢測(cè)功能,則當(dāng)用戶打開(kāi)的網(wǎng)址包含詐騙內(nèi)容時(shí),可能會(huì)給用戶帶來(lái)財(cái)產(chǎn)損失的風(fēng)險(xiǎn)。因此,需要鎖定一個(gè)具有網(wǎng)址安全性檢測(cè)功能的默認(rèn)瀏覽器來(lái)打開(kāi)聊天工具類(lèi)應(yīng)用程序中展現(xiàn)的網(wǎng)址,以避免系統(tǒng)默認(rèn)瀏覽器會(huì)被修改而帶來(lái)的風(fēng)險(xiǎn)。
[0003]相關(guān)技術(shù)中,如圖1所示,鎖定默認(rèn)瀏覽器的方法主要是:在RING3(用戶態(tài))中通過(guò)函數(shù)CreateProcess創(chuàng)建一個(gè)目標(biāo)進(jìn)程以運(yùn)行瀏覽器“Abrowser.exe”,其中可通過(guò)DLL(Dynamic Link Library,動(dòng)態(tài)鏈接庫(kù))注入的方式將瀏覽器“Abrowser.exe”的代碼和數(shù)據(jù)映射到目標(biāo)進(jìn)程的地址空間中;之后,通過(guò)HOOK (Windows操作系統(tǒng)中提供的一種用以替換DOS下“中斷”的系統(tǒng)機(jī)制,譯為“掛鉤”或“鉤子”)對(duì)上述進(jìn)程創(chuàng)建函數(shù)Createprocess,創(chuàng)建目標(biāo)進(jìn)程以運(yùn)行瀏覽器“Abrowser.exe”這一事件進(jìn)行掛鉤;在HOOK進(jìn)程創(chuàng)建函數(shù)Createprocess (即HookCreateProcess)的處理函數(shù)中,判斷瀏覽器“Abrowser.exe”是否為鎖定的默認(rèn)瀏覽器;若是,則直接調(diào)用瀏覽器Abrowser.exe,若否,則修改目標(biāo)參數(shù)為鎖定的默認(rèn)瀏覽器,即調(diào)用鎖定的默認(rèn)瀏覽器,從而達(dá)到鎖定默認(rèn)瀏覽器的目的。
[0004]但是存在的問(wèn)題是:(1)由于是在RING3(用戶態(tài))中通過(guò)DLL注入的方式以鎖定默認(rèn)瀏覽器,所以可能會(huì)因?yàn)闄?quán)限不夠?qū)е伦⑷胧。?2)目標(biāo)進(jìn)程可以修改自己進(jìn)程的內(nèi)存,保護(hù)自己不被Η00Κ,從而不能保證目標(biāo)進(jìn)程運(yùn)行的瀏覽器是否是默認(rèn)瀏覽器,從而可能會(huì)導(dǎo)致默認(rèn)瀏覽器鎖定失敗。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的目的旨在至少在一定程度上解決上述的技術(shù)問(wèn)題之一。
[0006]為此,本發(fā)明的第一個(gè)目的在于提出一種默認(rèn)瀏覽器的控制方法。該方法通過(guò)調(diào)用系統(tǒng)的進(jìn)程創(chuàng)建系統(tǒng)函數(shù)以創(chuàng)建目標(biāo)進(jìn)程,使得在執(zhí)行系統(tǒng)調(diào)用時(shí)執(zhí)行的是內(nèi)核代碼,從而使得整個(gè)工作處于內(nèi)核態(tài),所以不存在權(quán)限問(wèn)題,提高了默認(rèn)瀏覽器控制的成功率,提尚了系統(tǒng)性能。
[0007]本發(fā)明的第二個(gè)目的在于提出一種默認(rèn)瀏覽器的控制裝置。
[0008]本發(fā)明的第三個(gè)目的在于提出一種終端。
[0009]為了實(shí)現(xiàn)上述目的,本發(fā)明第一方面實(shí)施例的默認(rèn)瀏覽器的控制方法,包括:接收應(yīng)用程序的用于調(diào)用瀏覽器的進(jìn)程創(chuàng)建請(qǐng)求,并根據(jù)所述進(jìn)程創(chuàng)建請(qǐng)求調(diào)用系統(tǒng)的進(jìn)程創(chuàng)建系統(tǒng)函數(shù)以創(chuàng)建所要?jiǎng)?chuàng)建的進(jìn)程;截取所述系統(tǒng)的進(jìn)程創(chuàng)建系統(tǒng)函數(shù),并獲取所述進(jìn)程創(chuàng)建系統(tǒng)函數(shù)所要?jiǎng)?chuàng)建的進(jìn)程所加載的映像路徑;判斷所述映像路徑是否為默認(rèn)瀏覽器的路徑;如果判斷映像路徑不為所述默認(rèn)瀏覽器的路徑,則根據(jù)所述默認(rèn)瀏覽器的路徑創(chuàng)建進(jìn)程句柄;以及根據(jù)所述進(jìn)程句柄創(chuàng)建所述默認(rèn)瀏覽器的進(jìn)程,并將所述進(jìn)程反饋至所述應(yīng)用程序,以使所述應(yīng)用程序根據(jù)所述進(jìn)程調(diào)用所述默認(rèn)瀏覽器。
[0010]本發(fā)明實(shí)施例的默認(rèn)瀏覽器的控制方法,可先接收應(yīng)用程序的用于調(diào)用瀏覽器的進(jìn)程創(chuàng)建請(qǐng)求,之后可根據(jù)進(jìn)程創(chuàng)建請(qǐng)求調(diào)用系統(tǒng)的進(jìn)程創(chuàng)建系統(tǒng)函數(shù)以開(kāi)始創(chuàng)建所要?jiǎng)?chuàng)建的進(jìn)程,在創(chuàng)建的過(guò)程中,可通過(guò)鉤子函數(shù)Hook (掛鉤)系統(tǒng)的進(jìn)程創(chuàng)建系統(tǒng)函數(shù)以截獲該進(jìn)程創(chuàng)建系統(tǒng)函數(shù)所要?jiǎng)?chuàng)建的進(jìn)程所加載的映像路徑,并判斷加載的映像路徑是否為默認(rèn)瀏覽器的路徑,如果不是,則根據(jù)默認(rèn)瀏覽器路徑創(chuàng)建一個(gè)進(jìn)程句柄,并根據(jù)該進(jìn)程句柄創(chuàng)建默認(rèn)瀏覽器的進(jìn)程,并將該進(jìn)程反饋至應(yīng)用程序,以使應(yīng)用程序根據(jù)該進(jìn)程調(diào)用默認(rèn)瀏覽器,從而達(dá)到鎖定默認(rèn)瀏覽的目的,由于通過(guò)調(diào)用系統(tǒng)的進(jìn)程創(chuàng)建系統(tǒng)函數(shù)以創(chuàng)建目標(biāo)進(jìn)程,使得在執(zhí)行系統(tǒng)調(diào)用時(shí)執(zhí)行的是內(nèi)核代碼,從而使得整個(gè)工作處于內(nèi)核態(tài),所以不存在權(quán)限問(wèn)題,并且不需要將DLL注入目標(biāo)進(jìn)程,減少了對(duì)目標(biāo)進(jìn)程的內(nèi)存占用,提高了系統(tǒng)性能。
[0011]為了實(shí)現(xiàn)上述目的,本發(fā)明第二方面實(shí)施例的默認(rèn)瀏覽器的控制裝置,包括:接收模塊,用于接收應(yīng)用程序的用于調(diào)用瀏覽器的進(jìn)程創(chuàng)建請(qǐng)求;第一創(chuàng)建模塊,用于根據(jù)所述進(jìn)程創(chuàng)建請(qǐng)求調(diào)用系統(tǒng)的進(jìn)程創(chuàng)建系統(tǒng)函數(shù)以創(chuàng)建所要?jiǎng)?chuàng)建的進(jìn)程;截取模塊,用于截取所述系統(tǒng)的進(jìn)程創(chuàng)建系統(tǒng)函數(shù);獲取模塊,用于獲取所述進(jìn)程創(chuàng)建系統(tǒng)函數(shù)所要?jiǎng)?chuàng)建的進(jìn)程所加載的映像路徑;判斷模塊,用于判斷所述映像路徑是否為默認(rèn)瀏覽器的路徑;第二創(chuàng)建模塊,用于在判斷映像路徑不為所述默認(rèn)瀏覽器的路徑時(shí),根據(jù)所述默認(rèn)瀏覽器的路徑創(chuàng)建進(jìn)程句柄;以及第三創(chuàng)建模塊,用于根據(jù)所述進(jìn)程句柄創(chuàng)建所述默認(rèn)瀏覽器的進(jìn)程,并將所述進(jìn)程反饋至所述應(yīng)用程序,以使所述應(yīng)用程序根據(jù)所述進(jìn)程調(diào)用所述默認(rèn)瀏覽器。
[0012]本發(fā)明實(shí)施例的默認(rèn)瀏覽器的控制裝置,可通過(guò)接收模塊接收應(yīng)用程序的用于調(diào)用瀏覽器的進(jìn)程創(chuàng)建請(qǐng)求,第一創(chuàng)建模塊根據(jù)進(jìn)程創(chuàng)建請(qǐng)求調(diào)用系統(tǒng)的進(jìn)程創(chuàng)建系統(tǒng)函數(shù)以開(kāi)始創(chuàng)建所要?jiǎng)?chuàng)建的進(jìn)程,在創(chuàng)建的過(guò)程中,截取模塊通過(guò)鉤子函數(shù)Hook (掛鉤)系統(tǒng)的進(jìn)程創(chuàng)建系統(tǒng)函數(shù)以截獲該進(jìn)程創(chuàng)建系統(tǒng)函數(shù),獲取模塊獲取該進(jìn)程創(chuàng)建系統(tǒng)函數(shù)所要?jiǎng)?chuàng)建的進(jìn)程所加載的映像路徑,判斷模塊判斷加載的映像路徑是否為默認(rèn)瀏覽器的路徑,如果不是,則第二創(chuàng)建模塊根據(jù)默認(rèn)瀏覽器路徑創(chuàng)建一個(gè)進(jìn)程句柄,并根據(jù)該進(jìn)程句柄創(chuàng)建默認(rèn)瀏覽器的進(jìn)程,并將該進(jìn)程反饋至應(yīng)用程序,以使應(yīng)用程序根據(jù)該進(jìn)程調(diào)用默認(rèn)瀏覽器,從而達(dá)到鎖定默認(rèn)瀏覽的目的,由于通過(guò)調(diào)用系統(tǒng)的進(jìn)程創(chuàng)建系統(tǒng)函數(shù)以創(chuàng)建目標(biāo)進(jìn)程,使得在執(zhí)行系統(tǒng)調(diào)用時(shí)執(zhí)行的是內(nèi)核代碼,從而使得整個(gè)工作處于內(nèi)核態(tài),所以不存在權(quán)限問(wèn)題,并且不需要將DLL注入目標(biāo)進(jìn)程,減少了對(duì)目標(biāo)進(jìn)程的內(nèi)存占用,提高了系統(tǒng)性會(huì)K。
[0013]為了實(shí)現(xiàn)上述目的,本發(fā)明第三方面實(shí)施例的終端,包括:殼體、處理器、存儲(chǔ)器、電路板和電源電路,其中,所述電路板安置在所述殼體圍成的空間內(nèi)部,所述處理器和所述存儲(chǔ)器設(shè)置在所述電路板上;所述電源電路,用于為所述終端的各個(gè)電路或器件供電;所述存儲(chǔ)器用于存儲(chǔ)可執(zhí)行程序代碼;所述處理器通過(guò)讀取所述存儲(chǔ)器中存儲(chǔ)的可執(zhí)行程序代碼來(lái)運(yùn)行與所述可執(zhí)行程序代碼對(duì)應(yīng)的程序,以用于執(zhí)行以下步驟:接收應(yīng)用程序的用于調(diào)用瀏覽器的進(jìn)程創(chuàng)建請(qǐng)求,并根據(jù)所述進(jìn)程創(chuàng)建請(qǐng)求調(diào)用系統(tǒng)的進(jìn)程創(chuàng)建系統(tǒng)函數(shù)以創(chuàng)建所要?jiǎng)?chuàng)建的進(jìn)程;截取所述系統(tǒng)的進(jìn)程創(chuàng)建系統(tǒng)函數(shù),并獲取所述進(jìn)程創(chuàng)建系統(tǒng)函數(shù)所要?jiǎng)?chuàng)建的進(jìn)程所加載的映像路徑;判斷所述映像路徑是否為默認(rèn)瀏覽器的路徑;如果判斷映像路徑不為所述默認(rèn)瀏覽器的路徑,則根據(jù)所述默認(rèn)瀏覽器的路徑創(chuàng)建進(jìn)程句柄;以及根據(jù)所述進(jìn)程句柄創(chuàng)建所述默認(rèn)瀏覽器的進(jìn)程,并將所述進(jìn)程反饋至所述應(yīng)用程序,以使所述應(yīng)用程序根據(jù)所述進(jìn)程調(diào)用所述默認(rèn)瀏覽器。
[0014]本發(fā)明實(shí)施例的終端,可先接收應(yīng)用程序的用于調(diào)用瀏覽器的進(jìn)程創(chuàng)建請(qǐng)求,之后可根據(jù)進(jìn)程創(chuàng)建請(qǐng)求調(diào)用系統(tǒng)的進(jìn)程創(chuàng)建系統(tǒng)函數(shù)以開(kāi)始創(chuàng)建所要?jiǎng)?chuàng)建的進(jìn)程,在創(chuàng)建的過(guò)程中,可通過(guò)鉤子函數(shù)Hook(掛鉤)系統(tǒng)的進(jìn)程創(chuàng)建系統(tǒng)函數(shù)以截獲該進(jìn)程創(chuàng)建系統(tǒng)函數(shù)所要?jiǎng)?chuàng)建的進(jìn)程所加載的映像路徑,并判斷加載的映像路徑是否為默認(rèn)瀏覽器的路徑,如果不是,則根據(jù)默認(rèn)瀏覽器路徑創(chuàng)建一個(gè)進(jìn)程句柄,并根據(jù)該進(jìn)程句柄創(chuàng)建默認(rèn)瀏覽器的進(jìn)程,并將該進(jìn)程反饋至應(yīng)用程序,以使應(yīng)用程序根據(jù)該進(jìn)程調(diào)用默認(rèn)瀏覽器,從而達(dá)到鎖定默認(rèn)瀏覽的目的,由于通過(guò)調(diào)用系統(tǒng)的進(jìn)程創(chuàng)建系統(tǒng)函數(shù)以創(chuàng)建目標(biāo)進(jìn)程,使得在執(zhí)行系統(tǒng)調(diào)用時(shí)執(zhí)行的是內(nèi)核代碼,從而使得整個(gè)工作處于內(nèi)核態(tài),所以不存在權(quán)限問(wèn)題,并且不需要將DLL注入目標(biāo)進(jìn)程,減少了對(duì)目標(biāo)進(jìn)程的內(nèi)存占用,提高了系統(tǒng)性能。
[0015]本發(fā)明附加的方面和優(yōu)點(diǎn)將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過(guò)本發(fā)明的實(shí)踐了解到。
【附圖說(shuō)明】
[0016]本發(fā)明上述的和/或附加的方面和優(yōu)點(diǎn)從下面結(jié)合附圖對(duì)實(shí)施例的描述中將變得明顯和容易理解,其中,
[0017]圖1是現(xiàn)有技術(shù)中的鎖定默認(rèn)瀏覽器的方法的流程圖;
[0018]圖2是根據(jù)本發(fā)明一個(gè)實(shí)施例的默認(rèn)瀏覽器的控制方法的流程圖;
[0019]圖3是根據(jù)本發(fā)明一個(gè)實(shí)施例的默認(rèn)瀏覽器的控制裝置的結(jié)構(gòu)示意圖;
[0020]圖4是根據(jù)本發(fā)明另一個(gè)實(shí)施