本發(fā)明涉及智能設(shè)備的系統(tǒng)權(quán)限管理控制技術(shù),不僅涉及一種提權(quán)配置方案反饋方法及裝置,還涉及一種提權(quán)配置方案匹配方法和裝置。
背景技術(shù):
眾所周知,Root權(quán)限是指Unix類操作系統(tǒng)(包括Linux、Android)的系統(tǒng)管理員權(quán)限,類似于Windows(視窗)系統(tǒng)中的Administrator(管理員)權(quán)限;Root權(quán)限可以訪問和修改用戶的移動設(shè)備中幾乎所有的文件(Android系統(tǒng)文件及用戶文件,不包括ROM)。但是,由于目前終端設(shè)備系統(tǒng)對于Root權(quán)限的管理是非常嚴格的,通常情況下多數(shù)應(yīng)用或程序都不具備Root權(quán)限,因此對于某些需要具備Root權(quán)限的操作就無法執(zhí)行,例如安裝或卸載應(yīng)用等操作;同時,此類操作調(diào)用進程每次執(zhí)行相應(yīng)操作時都需要向系統(tǒng)申請Root權(quán)限,但如果此時其他應(yīng)用進程正在使用Root權(quán)限進行相關(guān)操作,則此調(diào)用進程的Root權(quán)限申請便無法成功;更甚者,如果用戶在系統(tǒng)中設(shè)置了禁用Root權(quán)限的操作,則相關(guān)調(diào)用進程便無法進行相關(guān)操作。
用戶一般都想獲得自身終端設(shè)備的更廣泛的控制權(quán),有鑒于此,業(yè)內(nèi)提供了多種多樣的提權(quán)方案用于獲取Android系統(tǒng)的Root權(quán)限,實現(xiàn)用戶權(quán)限提升,達致全面控制操作系統(tǒng)的目的。這些提權(quán)方案,依提權(quán)后權(quán)限作用的生命周期來看,包括永久Root權(quán)限和臨時Root權(quán)限,顧名思義,永久Root權(quán)限情況下,應(yīng)用程序一經(jīng)Root授權(quán),以后可不必再進行Root提權(quán);而臨時Root權(quán)限情況下,權(quán)限作用的生命周期只是操作系統(tǒng)的一次從開機到關(guān)機的過程,下次開機依然需要進行Root。
無論采用何種Root方式,提權(quán)的基本原理均是通過向系統(tǒng)植入用于接收權(quán)限請求的su,再結(jié)合SuperUser.apk應(yīng)用程序?qū)崿F(xiàn)人機交互,通過su與SuperUser.apk在運行時的相互配合,來實現(xiàn)有效的權(quán)限管理。但是,由于終 端設(shè)備設(shè)備的Android版本號、內(nèi)核版本號、CPU型號、機型等信息的不同,導(dǎo)致這些不同的原因可能是在系統(tǒng)OTA或者系統(tǒng)升級,進一步往往導(dǎo)致su模塊甚至SuperUser的代碼、參數(shù)甚至原理等也必須做出適應(yīng)性改變才能實現(xiàn)Root提權(quán),因此,同一種型號的手機因其內(nèi)核版本號或者系統(tǒng)版本號的不同,
也可能需要不同的Root方案。此類Root方案,實際上便是適應(yīng)終端設(shè)備設(shè)備的上述參數(shù)的變化而定制的用于對該終端設(shè)備獲取Root權(quán)限以試圖實現(xiàn)提權(quán)的配置方案。這些配置方案可以是在Root方案所需的文件的基礎(chǔ)上,進一步結(jié)合相關(guān)運行參數(shù)配置而得,也可以是直接包含所述方案文件的指向信息如其URL或文件名,不管配置方案的實現(xiàn)形式如何,只要該配置方案能夠被使用它的程序正確解析并使用即可。利用好這些配置方案,便能更高效地實現(xiàn)系統(tǒng)提權(quán)。
目前市面上推出多種一鍵Root應(yīng)用程序,一般安裝于個人電腦上,通過USB線與手機建立連接,從云端下載與該手機相適應(yīng)的配置方案,也即相應(yīng)的用于實現(xiàn)獲取Root權(quán)限的方案,強行對該手機進行獲取Root的操作,以期獲得成功。然而,這種傳統(tǒng)的獲取Root權(quán)限的方式,其成功率較低,非常低效,究其原因在于其所獲得的配置方案未經(jīng)技術(shù)識別,手機端獲得的配置方案的匹配成功率較低。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于解決上述問題而提供一種終端設(shè)備的root方法,該方法包括:獲取終端設(shè)備的特征信息;基于所述特征信息向服務(wù)器發(fā)送配置方案獲取請求;從服務(wù)器獲取與所述特征信息相匹配的配置方案,所述配置方案包含用于獲取root權(quán)限的配置方案;終端設(shè)備執(zhí)行所述配置方案,以獲取root權(quán)限。
進一步的,所述步驟:從服務(wù)器獲取與所述特征信息相匹配的配置方案,具體為:從服務(wù)器獲取與述特征信息相匹配的多個配置方案,所述多個配置方案具有推薦順序;所述步驟:終端設(shè)備執(zhí)行所述配置方案,以獲取root權(quán)限,具體為:終端設(shè)備按照所述推薦順序執(zhí)行配置方案,以獲取root權(quán)限。
進一步的,該方法還包括:終端設(shè)備每執(zhí)行完一個配置方案后,確定是否成功獲取root權(quán)限;如果成功獲取root權(quán)限,則停止執(zhí)行下一個配置方案。
進一步的,該方法還包括:采集表達終端設(shè)備執(zhí)行所述配置方案后是否成功獲取root權(quán)限的反饋數(shù)據(jù),并將所述反饋數(shù)據(jù)上報服務(wù)器。
本發(fā)明還提供了一種終端設(shè)備,該終端設(shè)備包括:特征信息獲取單元,用于獲取終端設(shè)備的特征信息;
發(fā)送單元,用于基于所述特征信息向服務(wù)器發(fā)送配置方案獲取請求;接收單元,用于從服務(wù)器獲取與所述特征信息相匹配的配置方案,所述配置方案包含用于獲取root權(quán)限的配置方案;執(zhí)行單元,用于執(zhí)行所述配置方案,以獲取root權(quán)限。
進一步的,該接收單元用于從服務(wù)器獲取與述特征信息相匹配的多個配置方案,所述多個配置方案具有推薦順序,所述執(zhí)行單元按照所述推薦順序執(zhí)行所述配置方案,以獲取root權(quán)限。
進一步的,該終端設(shè)備包括:Root權(quán)限垂詢單元,用于在執(zhí)行一個配置方案后,查詢所述終端設(shè)備是否成功獲取root權(quán)限,如果成功獲取root權(quán)限,則通知所述執(zhí)行單元停止執(zhí)行下一個配置方案。
進一步的,該終端設(shè)備包括:
執(zhí)行反饋單元,用于根據(jù)所述Root權(quán)限垂詢單元的查詢結(jié)果,記錄配置成功的配置方案以及配置失敗的配置方案,并將配置方案配置成功與失敗的信息發(fā)送到服務(wù)器。
本發(fā)明還提供了一種配置方法,包括:獲取包含終端設(shè)備的特征信息的請求;依據(jù)所述特征信息查找包含用于獲取Root權(quán)限的配置方案;依據(jù)為所述配置方案所保存的歷史使用數(shù)據(jù)對查找到的配置方案進行排序,并形成推薦表,所述推薦表包含查找到的配置方案的內(nèi)容信息以及查找到的配置方案的排序信息;響應(yīng)與所述請求推送所述推薦表。
進一步的,所述歷史使用數(shù)據(jù)為終端設(shè)備執(zhí)行所述配置方案的執(zhí)行結(jié)果的 歷史記錄。
本發(fā)明還提供了一種服務(wù)器,包括獲取單元,用于獲取包含終端設(shè)備的特征信息的請求;查找單元,被配置為依據(jù)所述特征信息查找包含用于獲取Root權(quán)限的配置方案;排序單元,被配置為依據(jù)為保存的歷史使用數(shù)據(jù)對查找到的配置方案進行排序,并形成推薦表,所述推薦表包含查找到的配置方案的內(nèi)容信息以及查找到的配置方案的排序信息;配置方案推送單元,被配置為響應(yīng)與所述請求推送所述推薦表。
進一步的,該服務(wù)器包括第一存儲單元,用于存儲配置方案;第二存儲單元,用于存儲每個配置方案的歷史使用數(shù)據(jù);學(xué)習(xí)單元,根據(jù)每個配置方案的歷史使用數(shù)據(jù)為所述配置方案計算權(quán)重,所述權(quán)重作為形成配置方案的推薦列表的因素。
為實現(xiàn)本發(fā)明的目的,本發(fā)明采取如下技術(shù)方案:
相較于現(xiàn)有技術(shù),本發(fā)明至少具有如下優(yōu)點:
1、本發(fā)明能夠直接獲得用于獲取Root權(quán)限的配置方案,所述配置方案是在基于實際應(yīng)用的歷史數(shù)據(jù)的基礎(chǔ)上進行推薦的,執(zhí)行所述配置方案直接獲取root權(quán)限。
2、本發(fā)明的歷史使用數(shù)據(jù),是基于每條配置方案被試Root以后形成的,且關(guān)聯(lián)到終端設(shè)備的特征信息,也即機型、系統(tǒng)版本號、內(nèi)核版本號、CPU型號等數(shù)據(jù),因此,利用歷史使用數(shù)據(jù)對云端配置方案進行優(yōu)選時,可以獲得更為精確的優(yōu)選效果,尤其是在對歷史使用數(shù)據(jù)進行有關(guān)成功率和/或權(quán)重的統(tǒng)計之后,可以獲得更為有效的統(tǒng)計數(shù)據(jù),用于配置方案的優(yōu)選,進一步提高特定終端設(shè)備的配置方案的優(yōu)選效果。
3、本發(fā)明通過數(shù)據(jù)庫的方式,通過構(gòu)造多個數(shù)據(jù)表來實現(xiàn)配置方案的優(yōu)選基礎(chǔ),表與表之間通過特征信息、配置方案建立相互關(guān)聯(lián),而在表中則收集用于實現(xiàn)優(yōu)選算法的數(shù)據(jù),這種方式具有智能可擴展的優(yōu)點。其中的學(xué)習(xí)表,利用機型記錄表中從請求方發(fā)來的原始數(shù)據(jù)中進行統(tǒng)計,先獲得成功率,再在成 功率的基礎(chǔ)上,結(jié)合一定時間范圍統(tǒng)計每個配置方案的總體實施情況,并以此進一步獲得該配置方案的權(quán)重,由此進一步強化了計算效果,使數(shù)據(jù)庫技術(shù)與本發(fā)明隱含的算法實現(xiàn)了完美的結(jié)合,可以降低服務(wù)器的負荷,從而提高服務(wù)器的運行效率。
4、本發(fā)明的配置方案形成推薦列表被推送到終端設(shè)備后,藉由終端設(shè)備逐條對其進行有關(guān)獲取終端設(shè)備Root權(quán)限的匹配嘗試,直至成功獲取終端設(shè)備的Root權(quán)限,完成匹配?;诿新逝渲梅桨敢呀?jīng)被優(yōu)選這一事實,終端設(shè)備對終端設(shè)備進行配置方案匹配的將大大提高。而且,針對每條已嘗試獲取Root權(quán)限的配置方案,終端設(shè)備還能將其是否匹配成功的數(shù)據(jù)上傳到服務(wù)器,因此,能夠為服務(wù)器提供有利于提高配置方案優(yōu)化效果的基礎(chǔ)數(shù)據(jù)。
5、由于本發(fā)明的配置方案,可以靈活設(shè)置為包含方案文件或者包含方案文件的指向信息,因此,既可以將用于實施Root提權(quán)的方案文件如su、SuperUser.apk等存儲于云端服務(wù)器,也可以存儲于發(fā)起請求的終端設(shè)備(并不一定是被Root的終端設(shè)備),由此,為本領(lǐng)域提供了多種實現(xiàn)本發(fā)明的實施方案,具有高度的靈活性,便于實現(xiàn)。概括而言,實施本發(fā)明能夠更為高效地獲得用于獲取終端設(shè)備的Root權(quán)限的更為有效配置方案,利用該配置方案有利于進一步提高獲取終端設(shè)備的Root權(quán)限的成功率。本發(fā)明附加的方面和優(yōu)點將在下面的描述中部分給出,這些將從下面的描述中變得明顯,或通過本發(fā)明的實踐了解到。
附圖說明
本發(fā)明上述的和/或附加的方面和優(yōu)點從下面結(jié)合附圖對實施例的描述中將變得明顯和容易理解,其中:
圖1是利用本發(fā)明的整體構(gòu)思所構(gòu)造的系統(tǒng)的結(jié)構(gòu)原理圖;
圖2是本發(fā)明的終端裝置的結(jié)構(gòu)原理圖;
圖3是本發(fā)明的獲取提權(quán)配置方案方法的原理示意圖;
圖4是本發(fā)明的提供配置方案的服務(wù)器的結(jié)構(gòu)原理圖;
圖5是本發(fā)明的提供提權(quán)配置方案方法的原理示意圖。
具體實施方式
下面詳細描述本發(fā)明的實施例,所述實施例的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實施例是示例性的,僅用于解釋本發(fā)明,而不能解釋為對本發(fā)明的限制。
本技術(shù)領(lǐng)域技術(shù)人員可以理解,除非特意聲明,這里使用的單數(shù)形式“一”、“一個”、“所述”和“該”也可包括復(fù)數(shù)形式。應(yīng)該進一步理解的是,本發(fā)明的說明書中使用的措辭“包括”是指存在所述特征、整數(shù)、步驟、操作、元件和/或組件,但是并不排除存在或添加一個或多個其他特征、整數(shù)、步驟、操作、元件、組件和/或它們的組。應(yīng)該理解,當(dāng)我們稱元件被“連接”或“耦接”到另一元件時,它可以直接連接或耦接到其他元件,或者也可以存在中間元件。此外,這里使用的“連接”或“耦接”可以包括無線連接或無線耦接。這里使用的措辭“和/或”包括一個或更多個相關(guān)聯(lián)的列出項的全部或任一單元和全部組合。
本技術(shù)領(lǐng)域技術(shù)人員可以理解,除非另外定義,這里使用的所有術(shù)語(包括技術(shù)術(shù)語和科學(xué)術(shù)語),具有與本發(fā)明所屬領(lǐng)域中的普通技術(shù)人員的一般理解相同的意義。還應(yīng)該理解的是,諸如通用字典中定義的那些術(shù)語,應(yīng)該被理解為具有與現(xiàn)有技術(shù)的上下文中的意義一致的意義,并且除非像這里一樣被特定定義,否則不會用理想化或過于正式的含義來解釋。
本技術(shù)領(lǐng)域技術(shù)人員可以理解,這里所使用的“終端”、“終端設(shè)備”既包括無線信號接收器的設(shè)備,其僅具備無發(fā)射能力的無線信號接收器的設(shè)備,又包括接收和發(fā)射硬件的設(shè)備,其具有能夠在雙向通信鏈路上,執(zhí)行雙向通信的接收和發(fā)射硬件的設(shè)備。這種設(shè)備可以包括:蜂窩或其他通信設(shè)備,其具有單線路顯示器或多線路顯示器或沒有多線路顯示器的蜂窩或其他通信設(shè)備;PCS(Personal Communications Service,個人通信系統(tǒng)),其可以組合語音、數(shù)據(jù)處理、傳真和/或數(shù)據(jù)通信能力;PDA(Personal Digital Assistant,個人數(shù)字助 理),其可以包括射頻接收器、尋呼機、互聯(lián)網(wǎng)/內(nèi)聯(lián)網(wǎng)訪問、網(wǎng)絡(luò)瀏覽器、記事本、日歷和/或GPS(Global Positioning System,全球定位系統(tǒng))接收器;常規(guī)膝上型和/或掌上型計算機或其他設(shè)備,其具有和/或包括射頻接收器的常規(guī)膝上型和/或掌上型計算機或其他設(shè)備。這里所使用的“終端”、“終端設(shè)備”可以是便攜式、可運輸、安裝在交通工具(航空、海運和/或陸地)中的,或者適合于和/或配置為在本地運行,和/或以分布形式,運行在地球和/或空間的任何其他位置運行。這里所使用的“終端”、“終端設(shè)備”還可以是
通信終端、上網(wǎng)終端、音樂/視頻播放終端,例如可以是PDA、MID(Mobile Internet Device,移動互聯(lián)網(wǎng)設(shè)備)和/或具有音樂/視頻播放功能的移動電話,也可以是智能電視、機頂盒等設(shè)備。
本技術(shù)領(lǐng)域技術(shù)人員可以理解,這里所使用的服務(wù)器、云端、遠端網(wǎng)絡(luò)設(shè)備等概念,具有等同效果,其包括但不限于計算機、網(wǎng)絡(luò)主機、單個網(wǎng)絡(luò)服務(wù)器、多個網(wǎng)絡(luò)服務(wù)器集或多個服務(wù)器構(gòu)成的云。在此,云由基于云計算(Cloud Computing)的大量計算機或網(wǎng)絡(luò)服務(wù)器構(gòu)成,其中,云計算是分布式計算的一種,由一群松散耦合的計算機集組成的一個超級虛擬計算機。本發(fā)明的實施例中,遠端網(wǎng)絡(luò)設(shè)備、終端設(shè)備與WNS服務(wù)器之間可通過任何通信方式實現(xiàn)通信,包括但不限于,基于3GPP、LTE、WIMAX的移動通信、基于TCP/IP、UDP協(xié)議的計算機網(wǎng)絡(luò)通信以及基于藍牙、紅外傳輸標(biāo)準(zhǔn)的近距無線傳輸方式。
本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,本發(fā)明所稱的“應(yīng)用”、“應(yīng)用程序”、“應(yīng)用軟件”以及類似表述的概念,是業(yè)內(nèi)技術(shù)人員所公知的相同概念,是指由一系列計算機指令及相關(guān)數(shù)據(jù)資源有機構(gòu)造的適于電子運行的計算機軟件。除非特別指定,這種命名本身不受編程語言種類、級別,也不受其賴以運行的操作系統(tǒng)或平臺所限制。理所當(dāng)然地,此類概念也不受任何形式的終端所限制。
為了說明本發(fā)明的實施,本發(fā)明試圖結(jié)合計算機程序的靜態(tài)和動態(tài)兩個方面進行描述,所謂靜態(tài)方面,是指程序安裝包、文件、數(shù)據(jù)庫等存儲于媒介的 存儲對象;所謂動態(tài)方面,是指被調(diào)入內(nèi)存中執(zhí)行的動態(tài)對象,包括但不局限于進程、線程、所用到的數(shù)據(jù)等。鑒于計算機軟件技術(shù)的這些特點,不應(yīng)將本發(fā)明所述及的各個方法、步驟、子步驟、裝置、單元、模塊等,孤立地理解為僅靜態(tài)或僅動態(tài)的方面,本領(lǐng)域技術(shù)人員對此應(yīng)當(dāng)知曉。故而,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)能夠依據(jù)本發(fā)明有關(guān)靜態(tài)的表述而將其對應(yīng)到動態(tài)的進程活動,或者依據(jù)本發(fā)明有關(guān)動態(tài)的進程活動對應(yīng)到其靜態(tài)的表現(xiàn)形式,建立起靜態(tài)與動態(tài)兩方面的必然性關(guān)聯(lián),以此為基礎(chǔ)來理解本發(fā)明。
本發(fā)明將涉及對Android終端設(shè)備的Root提權(quán)操作,但也不應(yīng)局限于Android操作系統(tǒng),本領(lǐng)域技術(shù)人員可以合理預(yù)見,諸如Ubuntu、Linux之類的操作系統(tǒng),只要其權(quán)限管理破解機制與Android相同,理論上即可適用本發(fā)明所構(gòu)思的所有方案,因此,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)知曉此一應(yīng)用上的變通。
涉及Root提權(quán)操作的技術(shù)原理,也已在背景技術(shù)部分介紹,Root的過程其實就是把su文件放到/system/bin/中,把Superuser.apk放到system/app下面,前者用于監(jiān)聽用戶的權(quán)限請求并與后者通信,后者主要是在與前者通信的基礎(chǔ)上實現(xiàn)人機交互,從而允許用戶做出相關(guān)指示。理論上,如果su可以實現(xiàn)為可以默認通過所有權(quán)限請求,則SuperUser.apk甚至可以舍棄。此外還需要設(shè)置/system/bin/su可以讓任意用戶可運行,使其具有有set uid和set gid的權(quán)限,具體可通過在android機器上運行命令:adb shellchmod 4755/system/bin/su便可實現(xiàn)。當(dāng)然,也不排除本領(lǐng)域技術(shù)人員利用操作系統(tǒng)的變化例如其新版本或者經(jīng)人為修改的出廠設(shè)定等,而使得破解機制有所變化。然而,不管這些破解機制如何變化,破解過程中所涉的數(shù)據(jù),無非借助代碼文件及運行這些文件之類的配置參數(shù)形成新的破解方案,本領(lǐng)域技術(shù)人員完全可以理解,這些破解方案可以被整合并概括為本發(fā)明的用于獲取Root權(quán)限的方案文件。因此,對本發(fā)明方案文件的理解,應(yīng)理解為涵蓋所有能夠用于獲取具有權(quán)限管理功能的操作系統(tǒng)的最高權(quán)限的破解手段相關(guān)的代碼文件及其配置參數(shù),以及這些代碼文件和配置參數(shù)的整合體,而不僅僅局限于上述以“su”、“SuperUser.apk”命名 或?qū)崿F(xiàn)的個別文件。任何最小化解釋本發(fā)明的方案文件的企圖均應(yīng)被視為未超脫本發(fā)明的精神實質(zhì)范圍。
如前所述,本發(fā)明即將采用的概念“配置方案”,可以僅指前述用于獲取Root權(quán)限的方案文件,也可以是在Root方案文件的基礎(chǔ)上,進一步結(jié)合相關(guān)運行參數(shù)配置而得,還可以是僅包含所述方案文件的指向信息如其URL或文件名的數(shù)據(jù),不管配置方案的實現(xiàn)形式如何,只要該配置方案能夠被使用它的用于實施Root提權(quán)操作的程序(進程)對應(yīng)正確解析正常使用即可。應(yīng)當(dāng)知曉,當(dāng)配置方案包含的是指向信息的文件名時,應(yīng)當(dāng)從本機中獲取相應(yīng)的方案文件,當(dāng)是指向信息的鏈接時,應(yīng)當(dāng)利用相應(yīng)的URL從遠程下載方案文件適用之。也就是說,配置方案的格式,完全可以由本領(lǐng)域技術(shù)人員在進程軟件實現(xiàn)時,依照一定的協(xié)議進行規(guī)定,只要在使用的過程中,遵守同一協(xié)議進行正向或反向的對應(yīng)處理即可。利用好這些配置方案,便能更高效地實現(xiàn)系統(tǒng)提權(quán)。
本發(fā)明以下即將進行的描述,將基于一個網(wǎng)絡(luò)環(huán)境所構(gòu)造的系統(tǒng)進行,如圖1所示,該系統(tǒng)包括終端設(shè)備(客戶端)和服務(wù)器(云端),終端設(shè)備安裝有例如“360一鍵Root”軟件,該軟件實現(xiàn)了本發(fā)明的一個方面即有關(guān)匹配方法和裝置的構(gòu)思,服務(wù)器上實現(xiàn)了本發(fā)明的與該匹配方法相應(yīng)的反饋方法和裝置的構(gòu)思,而終端設(shè)備則可以是即將被Root的對象如運行Android操作系統(tǒng)的手機。終端設(shè)備可以通過標(biāo)準(zhǔn)化的線纜如USB線或者無線連接協(xié)議與終端設(shè)備建立通信連接,為了順利與該終端設(shè)備進行通信,必然會在終端設(shè)備中配置有相應(yīng)的終端設(shè)備驅(qū)動程序和adb(Android DebugBridge,安卓調(diào)試橋)等相關(guān)工具性的程序。這些工具程序完全可以由終端設(shè)備上的軟件自行檢測、下載、安裝,也可由用戶自行配置,當(dāng)然,依據(jù)Android的系統(tǒng)原理,手機端可能需要提前打開調(diào)試模式,以便確保終端設(shè)備與終端設(shè)備之間的正常通信。諸如此類的先驗知識,只為后續(xù)說明的便利而提出,不屬于影響本發(fā)明的實施的范圍,恕不贅述。
請參閱圖2所示的本發(fā)明的獲取提權(quán)配置方案的終端裝置的原理框圖,在 終端設(shè)備安裝例如“360一鍵Root”軟件,從而實現(xiàn)對服務(wù)器提供的推薦列表中的配置方案的更有效的利用。該終端裝置包括請求單元21、接收單元22、執(zhí)行單元23以及反饋單元24。
所述的請求單元21,用于發(fā)送包含自終端設(shè)備采集的特征信息的請求。請求單元21是在終端設(shè)備與終端設(shè)備建立好前文所稱的連接后,用戶點擊如圖5所示的圖形用戶界面中的“一鍵ROOT”按鍵,即觸發(fā)本請求單元21的執(zhí)行。用戶按鍵后,該用戶界面即切換到所示的效果,在下方顯示整個執(zhí)行過程的狀態(tài)信息。請求單元21可以從與其連接的終端設(shè)備中,獲取該終端設(shè)備的特征信息,本實施例中,適應(yīng)上述服務(wù)器的實現(xiàn)方案,優(yōu)選包括機型、CPU型號、系統(tǒng)版本號、內(nèi)核版本號等專項特征信息,終端設(shè)備2軟件收信與該終端設(shè)備連接的終端設(shè)備的特征信息后,將其發(fā)送給該服務(wù)器。
所述的接收單元22,用于獲取響應(yīng)于該請求的包含用于獲取該終端設(shè)備的Root權(quán)限的配置方案推薦列表20。服務(wù)器接收到所述請求單元21的請求后,將按照前述的實現(xiàn)方式,向請求單元21推送推薦列表20。推薦列表20中包含已經(jīng)由服務(wù)器按照權(quán)重和/或成功率進行排序的配置方案,接收單元22接收該推薦列表20中,依照與服務(wù)器的協(xié)議,對配置方案進行解析。例如,如果配置方案包含的是直接的方案文件及其運行時參數(shù),則可作為參數(shù)直接調(diào)用執(zhí)行單元23進行處理。又如,如果配置方案包含了方案文件的URL指向信息,接收單元22則應(yīng)先依照該URL下載相應(yīng)的方案文件,如果還包含運行時參數(shù),參照前例處理之。再如,如果配置方案包含了已經(jīng)預(yù)存或緩存在本終端設(shè)備的指向信息(如文件名),則也可以相應(yīng)解析之,調(diào)用執(zhí)行單元23直接進行處理??傊?,經(jīng)過執(zhí)行單元23的處理,將能夠使所述配置方案可以被執(zhí)行單元23有效利用,從而用于實施提權(quán)操作。
所述的執(zhí)行單元23,被配置為利用至少一條配置方案對所述終端設(shè)備實施提權(quán)操作。具體而言,所述執(zhí)行單元23利用配置方案所指向的方案文件,必要時還包括相關(guān)運行時配置參數(shù),按照推薦列表20的排列順序,依次對與 終端設(shè)備連接的終端設(shè)備進行試Root。表現(xiàn)在軟件實現(xiàn)的進程層面,獲取終端設(shè)備的Root權(quán)限的操作步驟,參閱所述,是由終端設(shè)備軟件加載的adb去實現(xiàn)的。利用adb shell的指令實現(xiàn)提權(quán)的實現(xiàn)方案非常普遍,前文已做介紹,此處恕不贅述。執(zhí)行單元23對一條配置方案的一次試Root,無論成功與否,終端設(shè)備軟件均能獲得試Root的結(jié)果數(shù)據(jù),這些結(jié)果數(shù)據(jù)將被反饋給服務(wù)器。執(zhí)行單元23在試Root的過程中,按照推薦列表20順序基于各條解析后的配置方案依次實施對所述終端設(shè)備的獲取Root權(quán)限的提權(quán)操作。當(dāng)然,為了兼顧終端設(shè)備的執(zhí)行效果,如果其中一條配置方案能夠成功獲取終端設(shè)備的Root權(quán)限,實現(xiàn)提權(quán),則后續(xù)的其余的配置方案將不再被實施提權(quán)操作。
所述的反饋單元24,被配置為響應(yīng)于該推薦列表20而回發(fā)已實施的配置方案是否成功提權(quán)的數(shù)據(jù)。如前所述,執(zhí)行單元23針對每一條已經(jīng)嘗試實施提權(quán)操作的配置方案均能獲得其是否成功獲得終端設(shè)備的Root權(quán)限的結(jié)果數(shù)據(jù),本反饋單元24進一步對該結(jié)果數(shù)據(jù)進行格式化,處理成包含所述配置方案、特征信息、成功與否的格式發(fā)送給服務(wù)器,由服務(wù)器利用將這些結(jié)果數(shù)據(jù)記錄到機型記錄表中以做統(tǒng)計之用。
本發(fā)明的匹配裝置,顯然也隱含了本發(fā)明的一種獲取提權(quán)配置方案的方法,以下結(jié)合對該匹配方法做說明,以便以更接近于程序?qū)崿F(xiàn)的方式介紹本發(fā)明的有關(guān)利用的實例。
本發(fā)明的提權(quán)配置方案匹配方法,包括如下步驟:
S21、發(fā)送包含自終端設(shè)備采集的特征信息的請求。
實施本步驟的前提,是終端設(shè)備已經(jīng)與終端設(shè)備建立連接,由此方可獲得終端設(shè)備的包括機型、CPU型號、系統(tǒng)版本號、內(nèi)核版本號在內(nèi)的各種專項的特征信息,將這此特征信息依照與服務(wù)器的協(xié)議而封裝成請求,將該請求發(fā)送至云端服務(wù)器,以便服務(wù)器從相應(yīng)的監(jiān)聽端口接收該請求。
S22、獲取響應(yīng)于該請求的包含用于獲取該終端設(shè)備的Root權(quán)限的配置方案推薦列表20。
結(jié)合前文可知,服務(wù)器獲取該請求后,將利用自身的實現(xiàn)架構(gòu),首先查找到與該些特征信息相對應(yīng)的一個或多個配置方案,當(dāng)為多個配置方案時,進一步利用其排序規(guī)則,對這些配置方案進行排序,形成排序后的配置方案推薦列表20。將該推薦列表20推送給發(fā)送該請求的請求方終端設(shè)備。由此,本步驟接收到這一推薦列表20,依照與服務(wù)器的協(xié)議對該推薦列表20進行解析,獲得其中的配置方案及其排序信息,其中的配置方案不管是直接包含方案文件,還是包含方案文件的指向信息,甚至進一步包含方案文件用以執(zhí)行試Root時的運行時參數(shù)等,均能被本接收單元22依照所述協(xié)議進行解析,還是后續(xù)步驟對配置方案進行直接利用。
S23、利用至少一條配置方案對所述終端設(shè)備實施提權(quán)操作。
本步驟的實施,默認情況下,是按照所述推薦列表20中配置方案的排序進行的。
通過逐條測試所述配置方案是否可以成功獲取終端設(shè)備的Root權(quán)限來實現(xiàn)對所述配置信息的利用。在這一過程中,只要有一條配置方案能夠成功獲取終端設(shè)備的Root權(quán)限,即終止后續(xù)其余配置方案的試Root實施。同時,對終端設(shè)備實施提權(quán)操作的過程,請參閱前文所述,此處從略。
S24、響應(yīng)于該推薦列表20而回發(fā)已實施的配置方案是否成功提權(quán)的數(shù)據(jù)。
每條配置方案被用于實施提權(quán)操作是否能成功,均能如前所述格式化成結(jié)果數(shù)據(jù),將這一結(jié)果數(shù)據(jù)再次發(fā)送給云端服務(wù)器,可以輔助服務(wù)器進行有關(guān)配置方案的歷史使用數(shù)據(jù)的采集,從而可以提高云端服務(wù)器的配置方案優(yōu)選效率。至于確定配置方案是否已成功獲取系統(tǒng)Root權(quán)限,可以通過調(diào)用su指令來實現(xiàn),本領(lǐng)域技術(shù)人員知曉此一原理。
可以看出,本發(fā)明的提權(quán)配置方案匹配方法和裝置,在本質(zhì)上是對本發(fā)明在服務(wù)器實現(xiàn)的提權(quán)配置方案反饋方法和裝置在終端設(shè)備的相對應(yīng)的利用。終端設(shè)備逐條利用推薦列表中的配置方案進行嘗試獲取終端設(shè)備的Root權(quán)限的嘗試,直至成功獲取。
對于每條已經(jīng)實施提權(quán)操作的配置方案,終端設(shè)備將表征其是否成功獲取權(quán)限的數(shù)據(jù),連同終端設(shè)備的特征信息與該配置方案打包成結(jié)果數(shù)據(jù)上傳給服務(wù)器,以便進一步優(yōu)化服務(wù)器的成功率、權(quán)重等關(guān)鍵數(shù)據(jù)。本發(fā)明的這兩個方面互相配合,可以實現(xiàn)一個更為有效的用于獲取終端設(shè)備的Root權(quán)限的系統(tǒng)。以下再簡要說明本發(fā)明兩方面的相關(guān)方法和裝置如何相互配合使本發(fā)明的所述的系統(tǒng)充分發(fā)揮其作用。
具體而言,服務(wù)器數(shù)據(jù)表中的配置方案來源于終端設(shè)備所提供的試用配置方案的結(jié)果數(shù)據(jù),該結(jié)果數(shù)據(jù)將被加工為成功率、權(quán)重等數(shù)據(jù)表中的統(tǒng)計數(shù)值,利用該些統(tǒng)計數(shù)值可以進一步得出包含排序后的配置方案推薦列表20,而該推薦列表20又提供給終端設(shè)備進行利用。對于終端設(shè)備的用戶而言,首先向服務(wù)器請求該推薦列表20,服務(wù)器查詢配置方案表獲得配置方案,然后依據(jù)固有規(guī)則進行排序,形成優(yōu)化了的配置方案推薦列表20推送給終端設(shè)備。終端設(shè)備據(jù)該推薦列表20中的各條配置方案對終端設(shè)備實施提權(quán)操作,直至終端設(shè)備提權(quán)成功,獲取Root權(quán)限為止。終端設(shè)備對于每條配置方案的試Root結(jié)果,均格式化成服務(wù)器可以識別的結(jié)果數(shù)據(jù)反饋給服務(wù)器進行前述的利用。
利用本發(fā)明的系統(tǒng)所實現(xiàn)的終端設(shè)備軟件,可以進一步結(jié)合到其它軟件中,或者將其它軟件的功能結(jié)合到其中。例如,本發(fā)明可以在終端設(shè)備獲取Root權(quán)限之后,通過植入基于Root權(quán)限運行的服務(wù)進程來實現(xiàn)權(quán)限請求的管理(類似于所述的SuperUser.apk所實現(xiàn)的功能)和權(quán)限管理后的后續(xù)指令執(zhí)行。當(dāng)本發(fā)明實現(xiàn)權(quán)限管理的相關(guān)服務(wù)進程為應(yīng)用的權(quán)限請求開放系統(tǒng)Root權(quán)限后,即可由用戶程序進程向該服務(wù)進程發(fā)送指令,例如:執(zhí)行預(yù)置應(yīng)用的卸載、執(zhí)行應(yīng)用程序的安裝或卸載、執(zhí)行應(yīng)用數(shù)據(jù)的備份或還原、執(zhí)行應(yīng)用程序的啟用或禁用等、執(zhí)行內(nèi)存或緩存清理功能等。進一步通過在服務(wù)進程中構(gòu)造用于執(zhí)行這些功能的函數(shù),便可通過服務(wù)進程解析用戶進程的指令,調(diào)用與用戶目標(biāo)功能相應(yīng)的函數(shù),實現(xiàn)相應(yīng)的功能,從而解決用戶進一步的需求。
綜上所述,本發(fā)明能夠為用戶提供更為有效的終端設(shè)備系統(tǒng)最高權(quán)限獲取方案。
進一步,揭示本發(fā)明在該系統(tǒng)的云端服務(wù)器的具體實現(xiàn),藉此揭示本發(fā)明的一種配置方案提供方法和裝置的實施例。本發(fā)明的提權(quán)配置方案反饋方法及本發(fā)明的提權(quán)配置方案裝置,具有一一對應(yīng)性,后者是前者的模塊化實現(xiàn),因此,為說明的簡化,以下部分文字結(jié)合融合了該方法和裝置進行說明。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解這種文字上的變通,不應(yīng)視以下的描述為限制了方法和裝置的獨立性。
請參閱圖4所示的本發(fā)明的提供提權(quán)配置方案的服務(wù)器的原理框圖,該圖揭示該裝置包括獲取單元11、查找單元12、排序單元13、推送單元14、采集單元15以及更新單元16。
所述的獲取單元11,用于獲取包含終端設(shè)備的特征信息的請求。所述的終端設(shè)備,是指該請求中包含的特征信息所在的終端設(shè)備,而不應(yīng)理解為如圖1所示的手機終端。當(dāng)然,設(shè)若在一個實施例中可以在手機終端中安裝所述的一鍵Root安裝軟件,建立手機終端與云端服務(wù)器之間的直連關(guān)系,則理論上,可以推知該終端設(shè)備是指手機終端。本發(fā)明為使敘述的結(jié)構(gòu)更有序,僅以圖1所揭示的實施例為準(zhǔn)進行說明。
所述的特征信息,包括機型、系統(tǒng)版本號、內(nèi)核版本號、CPU型號中一種或任意多種。終端設(shè)備具有諸多特征信息,并不局限于這里所列的幾種。本實施例選定特征信息的標(biāo)準(zhǔn),是以利用這些信息可以識別終端設(shè)備的用于獲取其系統(tǒng)的Root權(quán)限的配置方案為準(zhǔn)。因此,特征信息的選定是非常靈活的,譬如,利用終端設(shè)備的SN號和IMEI號識別其出廠時指向的狀態(tài)(如廠商、產(chǎn)地、銷售區(qū)域等),利用終端設(shè)備的機型可以識別廠商及其具體系列,利用系統(tǒng)版本號和內(nèi)核版本號可以識別該終端設(shè)備的軟件環(huán)境,以及利用CPU型號可以進一步判定機型的正確性等。本發(fā)明重點優(yōu)選機型、系統(tǒng)版本號、內(nèi)核 版本號以及CPU型號等專項,主要是考慮到利用這幾種型號中的一種或多種,便可在某種范圍內(nèi)確定其終端設(shè)備所使用的ROM(即其除引導(dǎo)程序之外的整個系統(tǒng)軟件環(huán)境),據(jù)此可以選擇相應(yīng)的用于獲取Root權(quán)限的方案文件。以上專項通常會記載在Android系統(tǒng)中,從系統(tǒng)的設(shè)置頁面可以看到相關(guān)信息,也可以借助本發(fā)明的軟件用指令直接讀取。實施本發(fā)明時,所采用的專項數(shù)目越多,理論上確定所述方案文件的范圍就越小,效果便越精確,計算量也就越少。例如,如果僅以手機的機型來選擇方案文件,則由于該手機可能經(jīng)過系統(tǒng)升級,導(dǎo)致系統(tǒng)版本號和內(nèi)核版本號都發(fā)生了變化,剛好升級后的Root權(quán)限的破解方式與升級前不一致,這種情況下,僅以機型選擇出大量的方案文件,其中絕大部分或者全部可能是無效的,無論對于終端設(shè)備還是云端服務(wù)器,其計算量均是較大的。如果選中以上三個(例如機型、系統(tǒng)版本號及CPU)或者四個專項,則其指向的方案文件便更精確,方案文件數(shù)量越少,則計算量也就越低,運行效率就更高。當(dāng)然,也便會對軟件實現(xiàn)提出更多細節(jié)要求。
對本發(fā)明的查找單元12與排序單元13的進一步揭示,需要結(jié)合本發(fā)明在云端服務(wù)器中所構(gòu)建的數(shù)據(jù)庫來進行,故以下通過一個具體實例先對本發(fā)明所實現(xiàn)的數(shù)據(jù)庫10結(jié)構(gòu)進行說明。
本發(fā)明在一個數(shù)據(jù)庫10中構(gòu)建有三個數(shù)據(jù)表,分別是配置方案表、學(xué)習(xí)表,以及機型記錄表。所述配置方案表的結(jié)構(gòu)請參閱下方表1所示:
機型系統(tǒng)版本號CPU型號內(nèi)核版本號配置方案
Note 3 4.0.4 驍龍800 3.0.3-abc URL 1
Note 3 4.2.0 驍龍800 3.1.0-xyz URL 2
Xshot 710 4.3 驍龍801 四核3.04-pert URL 3
Note 3 4.3 驍龍800 3.1.0-xyz URL 3
表1主要用于示出配置方案表的表結(jié)構(gòu),需要說明的是,所述配置方案雖然以URL的形式示出其存儲內(nèi)容,但本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,如果配置方案包括多個并列的數(shù)據(jù)域,也可以為其設(shè)置相應(yīng)個數(shù)的字段來橫向擴展配置方 案表。這樣的變通屬于數(shù)據(jù)庫10的公知技術(shù),恕不贅述。表1還可以根據(jù)實際需要附加其它有利于提高程序?qū)崿F(xiàn)效率的字段,而不應(yīng)受本實施例的限制。
下方表2是本發(fā)明的學(xué)習(xí)表:
配置方案權(quán)重
URL 1 50
URL 2 70
URL 3 90
學(xué)習(xí)表中僅示出本發(fā)明最為關(guān)注的兩個字段,即配置方案以及權(quán)重,同理,本領(lǐng)域技術(shù)人員可以為此附加其它可以優(yōu)化程序效率的相關(guān)字段。其中的權(quán)重,數(shù)值越高,其重要性也就越高,反之則越低。權(quán)重的計算依據(jù)是來源于機型記錄表。
以下表3揭示本實施例的機型記錄表的表結(jié)構(gòu):
配置方案機型成功次數(shù)失敗次數(shù)成功率
URL 1 Note 3 3 7 30%
URL 2 Note 3 6 4 60%
URL 3 Xshot 710 7 3 70%
URL 3 Note 3 5 5 50%
機型記錄表,主要是映射出特定配置方案在某種機型上進行過Root嘗試的成功次數(shù)與失敗次數(shù),并將這些原始的歷史使用數(shù)值采集并記錄到該表中,且統(tǒng)計每條配置方案對于某個機型的歷史嘗試的成功率。誠然,在其他實施例中,本領(lǐng)域技術(shù)人員為了追求精確效果,還可以為該表增加諸如CPU型號、系統(tǒng)版本號等字段,使得每條記錄所記載的信息更加細化,但是,本實施例相對于其他變化實施例,體現(xiàn)了系統(tǒng)運算量、簡潔性與精確性的更優(yōu)的平衡效果。
如前所述,學(xué)習(xí)表中的權(quán)重是由機型記錄表的成功率得出的,這是對統(tǒng)計學(xué)的應(yīng)用。利用終端設(shè)備的結(jié)果數(shù)據(jù)統(tǒng)計出機型記錄表中的成功率,以及利用機型記錄表中的成功率數(shù)據(jù)統(tǒng)計出學(xué)習(xí)表中的權(quán)重數(shù)值并相應(yīng)更新學(xué)習(xí)表的權(quán)重數(shù)值的過程,可由本發(fā)明附加的更新單元16實現(xiàn)。作為第一統(tǒng)計數(shù)值, 機型記錄表中的成功率,可以依據(jù)特定配置方案與特定機型為依據(jù),直接計算它們所在的記錄的成功次數(shù)相對于總嘗試次數(shù)的百分比而得出。機型記錄表的數(shù)據(jù)是由云端不斷采集用戶產(chǎn)生的嘗試Root的數(shù)據(jù)而記錄生成的,
因此,所述的權(quán)重,可以依據(jù)一定時間內(nèi)例如一周內(nèi),利用簡單算法,定期對所述的機型記錄表中的數(shù)據(jù)進行加工而得出,作為第二統(tǒng)計數(shù)值使用。具體例如前述各表中的數(shù)據(jù)所揭示,配置方案URL 3由于在機型記錄表中對不同機器分別產(chǎn)生70%、50%的成功率,因此,賦予較高的權(quán)重90,而URL 2僅在一種機型上取得過60%的成功率,因此,可賦予其70的權(quán)重,URL 1由于其成功率最低而賦予其50的權(quán)重。依據(jù)機型記錄表統(tǒng)計學(xué)習(xí)表的權(quán)重的具體算法,可以由本領(lǐng)域技術(shù)人員靈活設(shè)定,例如,可以設(shè)定當(dāng)同一配置方案適用于一個機型時,其權(quán)重值為基數(shù)100與其成功率的乘積,當(dāng)其同時適用于第二個機型時,則其權(quán)重提升20個單位,以此類推。當(dāng)然,以上僅為說明示例,有關(guān)算法的描述數(shù)據(jù)與前述各表的數(shù)據(jù)不需對應(yīng),實現(xiàn)權(quán)重計算的具體算法不應(yīng)構(gòu)成對本發(fā)明的限制。
相信通過揭示本實施例運用數(shù)據(jù)庫10技術(shù)實現(xiàn)的配置方案表、學(xué)習(xí)表以及機型記錄表,便可領(lǐng)略本發(fā)明的實現(xiàn)思路的概貌。以下再結(jié)合各具體單元進行更詳細的說明。
所述的查找單元12,被配置為依據(jù)所述特征信息查找包含用于獲取Root權(quán)限的配置方案。在本單元中,由獲取單元11接收的特征信息請求被解析后,便可獲得其中的具體專項,例如結(jié)合表1,可以獲得其中的機型、CPU型號、系統(tǒng)版本號、內(nèi)核版本號等專項的特征信息。利用這些特征信息在表1中進行數(shù)據(jù)庫10查找,便可獲得相應(yīng)的配置方案。為說明的便利,本實施例中,設(shè)若只以特征信息中包含的機型“Note 3”為關(guān)鍵詞進行檢索,由此便可檢索到一個配置方案列表如表4所示:
序號配置方案
1 URL 1
2 URL 2
3 URL 3
請注意,其中URL3既適用于機型Note 3也適用于機型XShot 710,但在本次查找過程中,由于僅以機型進行查找,因此查找時本不會涉及XShot 710相關(guān)的記錄。本發(fā)明中,將上述配置方案列表發(fā)送給發(fā)起請求的終端設(shè)備之前,將經(jīng)排序優(yōu)化。
所述的排序單元13,即用于對前述查找單元12得出的配置方案列表進行排序,排序的依據(jù)即是前述的歷史使用數(shù)據(jù),排序后形成即將推送給請求方的包含查找到的配置方案的推薦列表。
對此處所稱的歷史使用數(shù)據(jù)的利用,包含三個層次,第一個層次是機型記錄表中的原始數(shù)據(jù),即每條配置方案在每種機型上的嘗試成功與否所得的有關(guān)成功次數(shù)、失敗次數(shù)的初步統(tǒng)計數(shù)據(jù),這些原始數(shù)據(jù)可以通過本發(fā)明的采集單元15向終端設(shè)備采集而得,當(dāng)然也可以人工添加和修改,特別是在初次提供表數(shù)據(jù)需要賦予部分初始值或者測試時,可以提供部分人工原始數(shù)據(jù)。第二個層次即是對前述的第一統(tǒng)計數(shù)值的利用,也就是說,通過對每條配置方案在相同機型情況下的成功次數(shù)和失敗次數(shù)加總,以成功次數(shù)與總嘗試次數(shù)之百分比作為成功率,將成功率視為歷史使用數(shù)據(jù)之一,用做本發(fā)明排序的基礎(chǔ)。第三個層次是對前述第二統(tǒng)計數(shù)值的利用,具體而言,是在一定時間范圍內(nèi)通過進一步統(tǒng)計所述的成功率,來獲得每個方案的權(quán)重數(shù)值。本發(fā)明依賴于這三個層次上的歷史使用數(shù)據(jù),但在具體程序?qū)崿F(xiàn)排序時,則具體以第二、第三層次的歷史使用數(shù)據(jù)為基礎(chǔ),即以所述第一統(tǒng)計數(shù)值所指的成功率和第二統(tǒng)計數(shù)值所指的權(quán)重為基礎(chǔ)進行排序。這一思路將體現(xiàn)為本發(fā)明的排序單元13的三個實施例,請參閱以下進一步的說明。
本發(fā)明的排序單元13的第一實施例中,可以直接依賴于所述機型記錄表中的成功率,對查找單元12所獲得的配置方案列表中的各條配置方案進行排序,獲得如下表5:
序號配置方案
1 URL 2
2 URL 3
3 URL 1
本發(fā)明的排序單元13的第二實施例中,可以直接依賴于所述機型記錄表中的權(quán)重,對查找單元12所獲得的配置方案列表中的各條配置方案進行排序,獲得如下表6:
序號配置方案
1 URL 3
2 URL 2
3 URL 1
在本發(fā)明的排序單元13的第三實施例中,可以同時依據(jù)權(quán)重和成功率進行排序,例如,先以權(quán)重排序獲得表6所示的結(jié)果,如果遇到權(quán)重相值的數(shù)值,則可以進一步利用機型記錄表中的成功率對具有相同權(quán)重的配置方案進行二次排序。由于上述各表中未給出權(quán)重相同的配置方案示例,故實施本實施例而獲得的配置方案列表也將如表6所示。
排序單元13對查找到的配置方案列表進行排序后獲得的結(jié)果,即為本發(fā)明的用于發(fā)送給發(fā)起請求的終端設(shè)備的配置方案推薦列表。
所述的推送單元14,被配置為響應(yīng)于該請求而推送包含排序后的配置方案的推薦列表。這里所稱的被響應(yīng)的請求,是指發(fā)起包含特征信息的請求,因此,響應(yīng)于該請求進行的推送,也即響應(yīng)本發(fā)明示例的系統(tǒng)中的終端設(shè)備進行的推送,以作為針對該請求的應(yīng)答。推送單元14的目的在于將排序單元13處理獲得的最終的配置方案推薦列表發(fā)送給終端設(shè)備,以便終端設(shè)備獲取該推薦列表后,可以將該推薦列表進行解析,提取其所包含的配置方案的方案文件,以此對與該終端設(shè)備連接的終端設(shè)備實施Root提權(quán)操作。終端設(shè)備獲得的推薦列表是經(jīng)過排序的,有更強的針對性,因此,獲得Root權(quán)限的成功率理論上將得以提高。此外,如果本發(fā)明的查找單元12并未找到有效的可用于Root 的配置方案時,也可由該推送單元14直接向發(fā)起請求的終端設(shè)備返回表征無配置方案的應(yīng)答內(nèi)容。
前文述及,所述的機型記錄表的來源方式有兩種,其一是可以人工添加,其二是采集終端設(shè)備的數(shù)據(jù)。為適應(yīng)后一種情況,本發(fā)明進一步通過提供采集單元15來輔以實現(xiàn)。
所述的采集單元15,用于采集并保存表征被推送后的所述推薦列表所包含的配置方案是否成功獲取Root權(quán)限的結(jié)果數(shù)據(jù),將該結(jié)果數(shù)據(jù)作為所述歷史使用數(shù)據(jù)。
具體而言,本實施例中,終端設(shè)備上的一鍵Root軟件在獲取推薦列表并以其中的配置方案對與其連接的終端設(shè)備8試Root的過程中,如果以一條配置方案所指向的方案文件(必要時包括相關(guān)運行參數(shù)),通過調(diào)用adb指令對終端設(shè)備進行獲取其Root權(quán)限的嘗試,如果成功獲取,則向為其提供所述的推薦列表的云端服務(wù)器反饋一條結(jié)果數(shù)據(jù),在該結(jié)果數(shù)據(jù)中除包含該配置方案外,可以包含本發(fā)明的特征信息和表示Root成功的
數(shù)據(jù);同理,如果獲取權(quán)限失敗,向該云端服務(wù)器反饋一條結(jié)果數(shù)據(jù),在該結(jié)果數(shù)據(jù)中除包含特征信息外,還包含表示Root失敗的數(shù)據(jù)。其中的特征信息,主要是因應(yīng)機型記錄表的需要而提供不同的特征信息專項,當(dāng)然也可更為詳盡地提供更多特征信息專項以供服務(wù)器完善各表數(shù)據(jù)之用,但是,適應(yīng)表3所揭示的機型記錄表的表結(jié)構(gòu),可以看出,配置方案、機型這兩個專項在本發(fā)明所揭示的前述實施例中是關(guān)鍵的。采集單元15,調(diào)用一更新單元16,根據(jù)接收到的結(jié)果數(shù)據(jù),在機型記錄表中查找到與結(jié)果數(shù)據(jù)中的特征信息相符的記錄,然后對其相關(guān)聯(lián)的成功次數(shù)或失敗次數(shù),以及成功率做適應(yīng)性的更新。對相應(yīng)的成功次數(shù)或失敗次數(shù),進行累加或累減,對所述的成功率,則仍依據(jù)相應(yīng)的成功次數(shù)和失敗次數(shù)計算而得。由此也可以看出,相對于權(quán)重,所述成功率是更為實時的數(shù)據(jù)。
通過采集單元15的作用,便可采集終端設(shè)備的用戶結(jié)果數(shù)據(jù),并將該些 結(jié)果數(shù)據(jù)作為實施本發(fā)明所需的歷史使用數(shù)據(jù)進行使用。
需要指出的是,本實施例的所述更新單元16,實現(xiàn)兩方面的功能,即利用終端設(shè)備結(jié)果數(shù)據(jù)統(tǒng)計機型記錄表中的成功率,以及利用機型記錄表中的成功率統(tǒng)計出學(xué)習(xí)表中的權(quán)重。在其他實施例中,這兩部分功能可以細分為兩個子模塊,并分別獨立實現(xiàn)。例如,用于統(tǒng)計權(quán)重的模塊可以定時獨立運行,用于統(tǒng)計成功率的模塊可以直接在所述采集單元15中實現(xiàn),由此可知,所述更新單元16只是對本發(fā)明所要實現(xiàn)的統(tǒng)計功能的概括,對其理解,不應(yīng)限制本發(fā)明的實施例的靈活實現(xiàn)。
由于云端服務(wù)器能夠?qū)崟r地接收互聯(lián)網(wǎng)上的多個用戶的結(jié)果數(shù)據(jù),所以,云端服務(wù)器上的數(shù)據(jù)庫10中的數(shù)據(jù)將具有大數(shù)據(jù)優(yōu)勢,根據(jù)這些結(jié)果數(shù)據(jù)進行的前述的深挖掘所形成的權(quán)重、成功率等數(shù)值,有助于進一步提高優(yōu)選用于終端設(shè)備的配置方案的智能化程度。
為了說明本發(fā)明的提權(quán)配置方案反饋裝置的運作過程,以下借助本發(fā)明的提權(quán)配置方案反饋方法做進一步的說明。
本發(fā)明的提權(quán)配置方案反饋方法,請參閱圖5所示,包括如下步驟:
S11、獲取包含終端設(shè)備的特征信息的請求。
云端服務(wù)器在其監(jiān)聽端口監(jiān)聽互聯(lián)網(wǎng)終端設(shè)備發(fā)起的有關(guān)獲取配置方案推薦列表的請求,這些請求顯然是配置有諸如所述的“360一鍵Root”的軟件發(fā)起的,該請求中的特征信息,在本實施例中,是與終端設(shè)備連接的終端設(shè)備的本機信息,包含機型、CPU型號、系統(tǒng)版本號以及內(nèi)核版本號。
S12、依據(jù)所述特征信息查找包含用于獲取Root權(quán)限的配置方案。
本步驟主要是在前述表1中檢索出與所述特征信息相關(guān)的配置方案。如前所述,依據(jù)程序設(shè)計的實際精度需要,提取特征信息中的有關(guān)專項,例如機型和系統(tǒng)版本號,以這些專項在前述的配置方案中進行檢索,將獲得所述表4的未經(jīng)排序的結(jié)果。
S13、依據(jù)為所述配置方案所保存的歷史使用數(shù)據(jù)對查找到的配置方案進 行排序后,形成包含查找到的配置方案的推薦列表。
參閱前述說明,可以理解,本步驟包含多種實施方式,具體包括:通過讀取學(xué)習(xí)表中的權(quán)重,以權(quán)重對表4進行排序獲得表6的結(jié)果;通過讀取學(xué)習(xí)表中的成功率,以成功率對表4進行排序獲得表5的結(jié)果;以及,通過讀取學(xué)習(xí)表中的權(quán)重作為第一排序字段,通過讀取機型學(xué)習(xí)表中的成功率作為第二排序字段,以此為依據(jù)對表4進行排序,對于權(quán)重相同的配置方案,適應(yīng)其成功率進行二次排序,從而獲得如表6所示的配置方案推薦列表。
S14、響應(yīng)于該請求而推送包含排序后的配置方案的推薦列表。
本步驟如前所述,用于將所述排序后的推薦列表發(fā)送給終端設(shè)備,以供終端設(shè)備進行用戶Root權(quán)限獲取的嘗試。
S15、采集并保存表征被推送后的所述推薦列表所包含的配置方案是否成功獲取Root權(quán)限的結(jié)果數(shù)據(jù),將該結(jié)果數(shù)據(jù)作為所述歷史使用數(shù)據(jù)。
如前所述,云端服務(wù)器進一步在其監(jiān)聽端口監(jiān)聽終端設(shè)備試用推薦列表中的配置方案后而返回的結(jié)果數(shù)據(jù),然后將該結(jié)果數(shù)據(jù)應(yīng)用到機型記錄表中。在上述揭示的部分實施例中,針對每條結(jié)果數(shù)據(jù)所包含的與一條配置方案有關(guān)的結(jié)果數(shù)據(jù),可以直接利用該結(jié)果數(shù)據(jù)計算機型記錄表的成功次數(shù)或失敗次數(shù),并且直接統(tǒng)計出其相關(guān)的成功率且更新之。在上述揭示的另外的實施例中,統(tǒng)計成功率的運算過程,可以通過調(diào)用外部函數(shù)來實現(xiàn)。因此,本步驟顯然也可按需分離為兩個子步驟,分別是實現(xiàn)對結(jié)果數(shù)據(jù)的采集的步驟和在已采集數(shù)據(jù)的基礎(chǔ)上的統(tǒng)計子步驟。
S16、利用機型記錄表中的成功率統(tǒng)計出學(xué)習(xí)表中的權(quán)重。
本步驟并非實時觸發(fā)的步驟,也就是說,步驟S15并不必然導(dǎo)致S16的運行。具體而言,可以借助一個計時器來觸發(fā)本步驟的運行,該計時器是為了確保本步驟在以一定的時間例如一天或一周來間隔運行,通過運行本步驟,應(yīng)用相關(guān)約定算法,實現(xiàn)前述有關(guān)權(quán)重的統(tǒng)計,從而實現(xiàn)所述學(xué)習(xí)表數(shù)據(jù)的更新。
可以理解,在某些情況下,步驟S15中有關(guān)成功率的統(tǒng)計的子步驟與本步 驟是可以相繼觸發(fā)的。
觀察本方法的上述各個步驟,實質(zhì)上揭示了由本發(fā)明所實現(xiàn)的一個服務(wù)器程序?qū)嵗倪\行流程,該運行流程顯然,以配置方案為基礎(chǔ),構(gòu)成了閉環(huán)的信息流關(guān)系,配置方案是否有效的數(shù)據(jù)來源于終端設(shè)備,最終也為終端設(shè)備服務(wù),只是基于云技術(shù)原理,利用該結(jié)果數(shù)據(jù)的終端設(shè)備可能并非提供該結(jié)果數(shù)據(jù)的終端設(shè)備。
以上所述僅是本發(fā)明的部分實施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應(yīng)落在本發(fā)明的保護范圍內(nèi)。
本發(fā)明提供A1、一種終端設(shè)備的root方法,該方法包括:
獲取終端設(shè)備的特征信息;
基于所述特征信息向服務(wù)器發(fā)送配置方案獲取請求;
從服務(wù)器獲取與所述特征信息相匹配的配置方案,所述配置方案包含用于獲取root權(quán)限的配置信息;
終端設(shè)備執(zhí)行所述配置方案,以獲取root權(quán)限。
A2、根據(jù)A1所述的方法,
所述步驟:從服務(wù)器獲取與所述特征信息相匹配的配置方案,具體為:從服務(wù)器獲取與述特征信息相匹配的多個配置方案,所述多個配置方案具有推薦順序;
所述步驟:終端設(shè)備執(zhí)行所述配置方案,以獲取root權(quán)限,具體為:終端設(shè)備按照所述推薦順序執(zhí)行配置方案,以獲取root權(quán)限。
A3、根據(jù)A2所述的方法,該方法還包括:
終端設(shè)備每執(zhí)行完一個配置方案后,確定是否成功獲取root權(quán)限;
如果成功獲取root權(quán)限,則停止執(zhí)行下一個配置方案。
A4、根據(jù)A1或A所述的方法,該方法還包括:
采集表達終端設(shè)備執(zhí)行所述配置方案后是否成功獲取root權(quán)限的反饋數(shù) 據(jù),并將所述反饋數(shù)據(jù)上報服務(wù)器。
B5、一種終端設(shè)備,該終端設(shè)備包括:
特征信息獲取單元,用于獲取終端設(shè)備的特征信息;
發(fā)送單元,用于基于所述特征信息向服務(wù)器發(fā)送配置方案獲取請求;
接收單元,用于從服務(wù)器獲取與所述特征信息相匹配的配置方案,所述配置方案包含用于獲取root權(quán)限的配置信息;
執(zhí)行單元,用于執(zhí)行所述配置方案,以獲取root權(quán)限。
B6、根據(jù)B5所述的終端設(shè)備,其特征還在于,該接收單元用于從服務(wù)器獲取與述特征信息相匹配的多個配置方案,所述多個配置方案具有推薦順序,所述執(zhí)行單元按照所述推薦順序執(zhí)行所述配置方案,以獲取root權(quán)限。
B7、根據(jù)B6所述的終端設(shè)備,該終端設(shè)備包括:
Root權(quán)限垂詢單元,用于在執(zhí)行一個配置方案后,查詢所述終端設(shè)備是否成功獲取root權(quán)限,如果成功獲取root權(quán)限,則通知所述執(zhí)行單元停止執(zhí)行下一個配置方案。
B8、根據(jù)B7所述的終端設(shè)備,該終端設(shè)備包括:
執(zhí)行反饋單元,用于根據(jù)所述Root權(quán)限垂詢單元的查詢結(jié)果,記錄配置成功的配置方案以及配置失敗的配置方案,并將配置方案配置成功與失敗的信息發(fā)送到服務(wù)器。
C9、一種配置方法,包括:
獲取包含終端設(shè)備的特征信息的請求;
依據(jù)所述特征信息查找包含用于獲取Root權(quán)限的配置方案;
依據(jù)為所述配置方案所保存的歷史使用數(shù)據(jù)對查找到的配置方案進行排序,并形成推薦表,所述推薦表包含查找到的配置方案的內(nèi)容信息以及查找到的配置方案的排序信息;
響應(yīng)與所述請求推送所述推薦表。
C10、根據(jù)C9所述的方法,所述歷史使用數(shù)據(jù)為終端設(shè)備執(zhí)行所述配置 方案的執(zhí)行結(jié)果的歷史記錄。
D11、一種服務(wù)器,包括
獲取單元,用于獲取包含終端設(shè)備的特征信息的請求;
查找單元,被配置為依據(jù)所述特征信息查找包含用于獲取Root權(quán)限的配置方案;
排序單元,被配置為依據(jù)為保存的歷史使用數(shù)據(jù)對查找到的配置方案進行排序,并形成推薦表,所述推薦表包含查找到的配置方案的內(nèi)容信息以及查找到的配置方案的排序信息;
配置方案推送單元,被配置為響應(yīng)與所述請求推送所述推薦表。
D12、根據(jù)D11所述的服務(wù)器,該服務(wù)器包括
第一存儲單元,用于存儲配置方案;
第二存儲單元,用于存儲每個配置方案的歷史使用數(shù)據(jù);
學(xué)習(xí)單元,根據(jù)每個配置方案的歷史使用數(shù)據(jù)為所述配置方案計算權(quán)重,所述權(quán)重作為形成配置方案的推薦列表的因素。