新四季網

建立root權限的方法和裝置製造方法

2023-09-21 23:14:10 2

建立root權限的方法和裝置製造方法
【專利摘要】本發明提供了一種建立root權限的方法和裝置,涉及計算機【技術領域】。方法包括:接收指定程序發出的獲取root權限的請求;獲取並運行至少一個破解方案中的代碼,其中,破解方案用於通過作業系統的漏洞獲取作業系統的root權限;當通過運行破解方案的代碼成功獲取root權限時,為指定程序建立具有root權限的後臺服務進程,後臺服務進程用於完成指定程序欲執行的root權限下的操作。通過本發明,在獲取root權限時,可以在保證作業系統不被破壞的情況下,對作業系統進行臨時root,既保證了作業系統的穩定性,又能完成root下的操作。
【專利說明】建立root權限的方法和裝置

【技術領域】
[0001]本發明涉及本發明涉及計算機領域,具體涉及一種建立root權限的方法和裝置。

【背景技術】
[0002]目前,隨著移動終端的快速發展和普及,android(安卓)系統應用越來越廣泛。root (根)為安卓作業系統中的最高操作權限,在root權限下,用戶幾乎可以訪問和修改作業系統中的任何文件。但是,出於安全或為自身價值考慮,大部分手機作業系統廠商並不開放ROOT(根用戶)權限給其他手機應用廠商。因此,導致一些應用軟體不能最大限度的發揮自己的功能。
[0003]例如:優化軟體在完成靜默安裝、卸載作業系統中的垃圾軟體等均需要在root權限下才能正常工作,而由於手機作業系統廠商將root權限禁止,會導致上述優化操作無法完成。
[0004]目前,很多軟體都通過修改作業系統的文件獲取root權限,但是這種修改作業系統文件方式,會破壞原始作業系統,有可能造成作業系統的不穩定性。


【發明內容】

[0005]鑑於上述問題,提出了本發明以便提供一種克服上述問題或者至少部分地解決上述問題的適於在終端設備上建立root權限的方法和相應地裝置。
[0006]依據本發明的一個方面,提供一種建立root權限的方法,包括:
[0007]接收所述指定程序發出的獲取root權限的請求;
[0008]獲取並運行至少一個破解方案中的代碼,其中,所述破解方案用於通過作業系統的漏洞獲取所述作業系統的root權限;
[0009]當通過運行所述破解方案的代碼成功獲取root權限時,為所述指定程序建立具有root權限的後臺服務進程,所述後臺服務進程用於完成所述指定程序欲執行的root權限下的操作。
[0010]可選地,所述獲取至少一個破解方案的代碼,包括:
[0011]檢測本地緩存中是否存在具有已成功獲取root權限的標記的解決方案的代碼;
[0012]當存在時,獲取所述具有已成功獲取root權限的標記的解決方案的代碼。
[0013]可選地,所述獲取至少一個破解方案的代碼,包括:
[0014]獲取本機信息;
[0015]向伺服器發送攜帶有所述本機信息的獲取解決方案的請求;
[0016]接收所述伺服器發送的與所述本機信息對應的至少一個解決方案的代碼;
[0017]其中,所述本機信息包括所述本機的型號和/或作業系統的內核版本號。
[0018]可選地,所述至少一個解決方案的代碼存儲於動態連結庫SO文件中,且所述至少一個解決方案按照對所述本機相同的機型的獲取root成功率由高到低進行排列。
[0019]可選地,所述運行至少一個破解方案中的代碼,包括:
[0020]按照所述解決方案的排列順序,依次運行每一個解決方案中的代碼,直至成功獲取root權限。
[0021]可選地,在成功獲取root權限之後,所述方法還包括:
[0022]在本地緩存所述成功獲取root權限的解決方案的代碼,並為所述解決方案增加已成功獲取root權限的標記。
[0023]可選地,所述運行至少一個破解方案中的代碼,包括:
[0024]通過JAVA本地調用接口 JNI運行所述SO文件。
[0025]可選地,所述當通過運行所述破解方案的代碼成功獲取root權限時,為所述指定程序建立具有root權限的後臺服務進程,包括:
[0026]當通過運行所述破解方案的代碼成功獲取root權限時,運行具有root權限的su文件,通過所述su文件為所述指定程序建立具有root權限的後臺服務進程。
[0027]依據本發明的一個方面,還提供了一種建立root權限的裝置,用於當不具有root權限的指定程序欲執行root權限下的操作時,包括:
[0028]請求接收模塊,配置為接收所述指定程序發出的獲取root權限的請求;
[0029]Root模塊,配置為獲取並運行至少一個破解方案中的代碼,其中,所述破解方案用於通過作業系統的漏洞獲取所述作業系統的root權限;
[0030]服務建立模塊,配置為當通過運行所述破解方案的代碼成功獲取root權限時,為所述指定程序建立具有root權限的後臺服務進程,所述後臺服務進程用於完成所述指定程序欲執行的root權限下的操作。
[0031 ] 可選地,所述root模塊包括:
[0032]檢測單元,配置為檢測本地緩存中是否存在具有已成功獲取root權限的標記的解決方案的代碼;
[0033]本地root單元,配置為當存在具有已成功獲取root權限的標記的解決方案的代碼時,獲取所述具有已成功獲取root權限的標記的解決方案的代碼。
[0034]可選地,所述root模塊,包括:
[0035]信息獲取單元,配置為獲取本機信息;
[0036]發送單元,配置為向伺服器發送攜帶有所述本機信息的獲取解決方案的請求;
[0037]接收單元,配置為接收所述伺服器發送的與所述本機信息對應的至少一個解決方案的代碼;
[0038]其中,所述本機信息包括所述本機的型號和/或作業系統的內核版本號。
[0039]可選地,所述至少一個解決方案的代碼存儲於動態連結庫SO文件中,且所述至少一個解決方案按照對所述本機相同的機型的獲取root成功率由高到低進行排列。
[0040]可選地,所述root模塊還配置為按照所述解決方案的排列順序,依次運行每一個解決方案中的代碼,直至成功獲取root權限。
[0041]可選地,所述裝置還包括標記模塊,所述標記模塊配置為在成功獲取root權限之後,在本地緩存所述成功獲取root權限的解決方案的代碼,並為所述解決方案增加已成功獲取root權限的標記。
[0042]可選地,所述root模塊還被配置為通過JAVA本地調用接口 JNI運行所述SO文件。
[0043]可選地,所述服務建立模塊,包括:
[0044]su文件運行單元,配置為當通過運行所述破解方案的代碼成功獲取root權限時,運行具有root權限的su文件;
[0045]服務建立單元,配置為通過所述su文件為所述指定程序建立具有root權限的後臺服務進程。
[0046]本發明提供了一種建立root權限的方法和裝置,本發明通過接收指定程序發出的獲取root權限的請求,獲取並運行至少一個破解方案中的代碼,且當通過運行破解方案的代碼成功獲取root權限時,為該指定程序建立具有root權限的後臺服務進程,從而完成該指定程序欲執行的root權限下的操作。可見,本發明在獲取root權限時,不修改作業系統中的文件,而且僅在當不具有root權限的指定程序欲執行root權限下的操作時才會觸發,因此,可以在保證作業系統不被破壞的情況下,對作業系統進行臨時root,既保證了作業系統的穩定性,又能完成root下的操作。
[0047]上述說明僅是本發明技術方案的概述,為了能夠更清楚了解本發明的技術手段,而可依照說明書的內容予以實施,並且為了讓本發明的上述和其它目的、特徵和優點能夠更明顯易懂,以下特舉本發明的【具體實施方式】。
[0048]根據下文結合附圖對本發明具體實施例的詳細描述,本領域技術人員將會更加明了本發明的上述以及其他目的、優點和特徵。

【專利附圖】

【附圖說明】
[0049]通過閱讀下文優選實施方式的詳細描述,各種其他的優點和益處對於本領域普通技術人員將變得清楚明了。附圖僅用於示出優選實施方式的目的,而並不認為是對本發明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:
[0050]圖1是本發明一個實施例提供的一種建立root權限的方法流程圖;
[0051]圖2是本發明一個實施例提供的一種建立root權限的具體方法流程圖;
[0052]圖3是本發明一個實施例提供的一種建立root權限的裝置結構框圖。

【具體實施方式】
[0053]下面將參照附圖更詳細地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應當理解,可以以各種形式實現本公開而不應該被這裡闡述的實施例所限制。相反,提供這些實施例是為了能夠透徹地理解本公開,並且能夠將本公開的範圍完整的傳達給本領域的技術人員。
[0054]實施例一
[0055]本發明實施例提供了一種建立root權限的方法。該方法可以通過對獲取root權限的裝置進行改進來實現。例如,本實施例中的裝置可以為PC (Personal Computer,個人計算機),手機,手持電腦等用戶移動終端設備。
[0056]圖1是本發明一個實施例提供的一種建立root權限的方法流程圖,該方法包括步驟 S102 至 S106。
[0057]S102,接收指定程序發出的獲取root權限的請求。
[0058]S104,獲取並運行至少一個破解方案中的代碼。
[0059]其中,破解方案用於通過作業系統的漏洞獲取作業系統的root權限。
[0060]S106,當通過運行破解方案的代碼成功獲取root權限時,為指定程序建立具有root權限的後臺服務進程。
[0061]其中,後臺服務進程用於完成指定程序欲執行的root權限下的操作。
[0062]本發明實施例提供了一種建立root權限的方法,該方法通過接收指定程序發出的獲取root權限的請求,獲取並運行至少一個破解方案中的代碼,且當通過運行破解方案的代碼成功獲取root權限時,為該指定程序建立具有root權限的後臺服務進程,從而完成該指定程序欲執行的root權限下的操作。可見,本實施例所提供的方法在獲取root權限時,不修改作業系統中的文件,而且僅在當不具有root權限的指定程序欲執行root權限下的操作時才會觸發,因此,可以在保證作業系統不被破壞的情況下,對作業系統進行臨時root,既保證了作業系統的穩定性,又能完成root下的操作。
[0063]實施例二
[0064]本實施例為上述實施例一的一種具體應用場景,通過本實施例,能夠更加清楚、具體地闡述本發明所提供的方法。在實現本實施例提供的方法時,可以通過在終端的作業系統中,建立具有root權限的後臺服務進程,通過該後臺服務進程為終端中的應用程式提供root服務,以使其能夠執行root權限下的操作。
[0065]下面,以用於在終端設備為root軟體在終端中獲取root權限為例來對本實施例提供的方法進行具體說明。需要說明的是,本實施例只是示例性的,並不限制本發明實施例所保護的範圍。
[0066]圖2是本發明一個實施例提供的一種建立root權限的具體方法流程圖,該方法具體包括步驟S201至S210。
[0067]需要說明的是,在執行本實施例所提供的方法之前,需要在終端上安裝root軟體,而獲取root權限的操作由root軟體觸發。下面對本實施所提供的方法進行具體介紹。
[0068]首先,執行步驟S201。在步驟S201中,接收root軟體發出的獲取root權限的請求。
[0069]需要說明的是,本實施例提供的獲取root權限的方法,為一種臨時獲取root權限的方法。在現有技術中,通常是通過修改系統文件的方式,永久的獲取作業系統的root權限,而這種方式,會破壞作業系統的原始文件,有可能造成作業系統的不穩定。
[0070]而在實際應用中,應用程式並不經常需要用到root權限執行操作。因此,本發明提供了一種臨時獲取root權限的方法,只在應用程式需要用到root權限時,才執行獲取root權限的操作,不破壞作業系統的原始文件。
[0071]例如,當root軟體執行靜默安裝或刪除垃圾軟體時,這些操作需要在root權限下才能執行,因此,這時可觸發獲取root權限的操作,發出獲取root權限的請求;
[0072]具體地,本實施例所提供的方法可通過在終端中內置SDK(SoftwareDevelopmentKit,軟體開發工具包)進行實現,並將用於獲取root權限的解決方案的代碼寫入到SDK中,當root軟體等軟體需要獲取root權限時,則可以向SDK發出調用請求。
[0073]在接收到獲取root權限的請求之後,繼續執行步驟S202。在步驟S202中,終端檢測本地是否緩存有已成功獲取root權限的解決方案的代碼,若本地未保存有已成功獲取root權限的解決方案的代碼,則執行步驟S203,若本地保存有已成功獲取root權限的解決方案的代碼,則執行步驟S208。
[0074]在本實施例中,由於提供的方法為臨時root的方法,因此在每次需要執行root權限下操作時,才進行root權限的獲取。而獲取root權限的方式,即為通過攻擊代碼攻擊作業系統的漏洞,獲取root權限。為了使得每次可以正常獲取root權限,優選的方式為,在終端中保存可以成功root自身的代碼,以供隨時使用。
[0075]而在終端被第一次root之前,由於之前未進行過root,則本地不會保存有可以將其root的代碼,此時,可通過步驟S203到步驟S207獲取root方案。
[0076]當終端本地不存在可以成功root的代碼時,執行步驟S203,即獲取本機信息,之後再通過執行步驟S204來向伺服器發送攜帶有終端的本機信息的獲取解決方案的請求。
[0077]需要說明的是,獲取root權限,主要方式為通過執行代碼攻擊作業系統的漏洞進行獲取。而對於不同的作業系統,其漏洞不同,因此,獲取root權限的方式也不同。
[0078]而目前市面上存在多種品牌的手機,作業系統也很繁多。為了能夠快速的將一個終端進行root,因此,可選擇針對每種作業系統進行漏洞統計,並針對這些漏洞進行root的解決方案設計,並開發相應的代碼,以對每種作業系統均能夠進行root,並將這些解決方案的代碼保存在伺服器。可以基於不同的解決方案代碼進行不同的版本標識,以便查詢。
[0079]在本實施例中,本機信息包括:終端的作業系統以及該作業系統的內核版本號。
[0080]例如,當前終端的本機信息可以為:安卓作業系統,內核版本號2.3。
[0081]在伺服器接收到終端發送的獲取解決方案的請求後,執行步驟S205,即伺服器查找與上述本機信息對應的解決方案。
[0082]在伺服器中,保存有多種進行root權限獲取的解決方案,並將這些解決方案與每一種作業系統進行對應。
[0083]例如,當前終端的本機信息為安卓作業系統,內核版本為2.3,則伺服器查找可以攻擊內核版本為2.3的安卓作業系統的漏洞的解決方案。
[0084]在伺服器查找得到與上述本機信息對應的解決方案的代碼後,執行步驟S206,將上述解決方案的代碼發送給終端。
[0085]需要說明的是,針對同一作業系統,由於其可能存在多個漏洞,因此,將其進行root的解決方案也會包括多個。伺服器查找到與本機信息對應的多個解決方案的代碼後,可以全部放到同一文件中,發送給終端。
[0086]本發明實施例中,
[0087]以安卓平臺為例,由於安卓的內核為通過C語言開發得到,因此優選的實施方式是,解決方案的代碼通過C語言進行開發,並保存在SO文件中。
[0088]其中,SO文件為安卓系統中的動態連結庫,作業系統中的應用程式可以通過JNI (Java Native Interface, JAVA 本地調用)進行調用。
[0089]在終端接收到進行root的解決方案的代碼後,執行步驟S207,依次運行伺服器發送的每一個解決方案的代碼,直至成功獲取root權限。在成功獲取了 root權限之後繼續執行如下步驟S210的操作。
[0090]需要說明的是,在SO文件中會包括多個解決方案,伺服器會為每個解決方案分配一個優先級,終端在依次使用每個解決方案進行root時,由優先級從高到低的順序進行。
[0091]其中,解決方案的優先級由同一內核版本號的作業系統的破解成功率決定,成功率越高,則優先級越高。通過該排列優先級的方式,可以增加獲取root權限的效率。
[0092]進一步地,在成功獲取root權限後,本實施例所提供的方法還包括:
[0093]保存用於獲取root權限的解決方案的代碼,並為成功獲取root權限的解決方案增加預設標記。其中,該標記可以用於在以後進行root時,終端可以快速的找到可以成功root自身的解決方案。
[0094]上述還提及了在步驟S202中,若本地保存有已成功獲取root權限的解決方案的代碼,則執行步驟S208。在步驟S208中,獲取本地緩存的具有已成功獲取root權限的標記的解決方案的代碼。
[0095]其中,如果當前終端已經有過成功獲取root權限的歷史,則可以直接獲取已被標記為成功獲取root權限的解決方案的代碼,而避免了再次去伺服器獲取的步驟,可以大大節省root操作所花費的時間。
[0096]接著執行步驟S209,運行在步驟S208中獲取到的解決方案的代碼,並判斷是否能夠獲取到root權限。若成功獲取root權限,執行步驟S210,若不能成功獲取root權限,則返回執行步驟S203到步驟S207,重新由伺服器獲取解決方案。
[0097]需要說明的是,由於用戶的終端進行升級操作等,可能會將原作業系統的漏洞封堵,因此,有可能發生以前的解決方案不能使用的情況。在這種情況下,則需要由伺服器重新獲取解決方案。
[0098]在步驟S210中,為root軟體建立具有root權限的後臺服務進程。
[0099]其中,為root軟體建立具有root權限的後臺服務進程,包括兩種方法:
[0100]方法一,通過中轉的方式建立具有root權限的後臺服務進程。
[0101]上述第一種方法具體包括:通過SDK中的SO文件運行具有終端中的su文件,通過SU文件為10t軟體建立具有root權限的後臺服務進程。
[0102]其中,su文件為安卓作業系統中的可執行文件,對應於adb shell命令中的su命令,在安卓作業系統中,通過SU文件可以進行提權。例如,當一個具有root權限的用戶,通過su命令去建立一個進程時,則該進程可以擁有root權限,進而該進程也可以執行root權限下的操作。
[0103]而由於在步驟S207或S209中,終端已經成功進行root,因此,即可以以root用戶的身份去運行SU命令(即運行SU文件),並建立具有root權限的後臺服務進程。
[0104]該方式選用root軟體通過調用SDK中的SO文件,再觸發su文件建立後臺服務進程的中轉方式,可以減少軟體的代碼之間的耦合度。例如,當root軟體的代碼更改後,而不需要對SDK進行調整,root方法仍然適用。並且,此種設計可以使得,除root軟體外,只要能得到SDK接口的應用程式,均能適用本發明所示的root方案。
[0105]需要說明的是,對於每一個應用程式的root請求,SDK均會為其對應的建立後臺服務進程,以保證每一個具有root權限的後臺服務進程只服務於對應的應用程式。
[0106]方法二,通過直接方式建立具有root權限的後臺服務進程。
[0107]上述第一種方法具體包括:在成功獲取root權限後,直接建立具有root權限的後臺服務進程。
[0108]在該方法二下,觸發建立root權限的後臺服務進程的代碼需集成在root軟體中。
[0109]通過上述步驟S201至步驟S210所描述的方法,即完成了完整的臨時root操作。後臺服務進行建立後,即可執行root權限下的操作,獲取到root的權限,當獲取到系統的Root權限後,為了便於後續其他調用進程執行相關操作的Root權限獲取,啟動具有Root權限的服務進程,並通過該具有Root權限的服務進程在系統中插入新服務進程,例如可通過系統調用函數ServiceManager.addService來插入操作;雖然現有系統中並不允許隨意插入服務進程,但由於前述已獲取到系統的Root權限,因此利用現有函數即可在系統中插入所述通信服務進程。
[0110]臨時Root權限的操作至少包括以下任意一種:備份系統、修改系統的內部程序、將應用程式安裝到SD卡上、獲取文件目錄、靜默安裝應用程式、卸載應用程式、以及卸載系統預裝應用程式等。
[0111]當root軟體中欲執行靜默安裝、刪除軟體等操作時,即可以與該後臺服務進程進行通信,要求其執行靜默安裝、刪除軟體等root權限下的操作。
[0112]本發明實施例提供了一種建立root權限的方法,該方法通過接收指定程序發出的獲取root權限的請求,獲取並運行至少一個破解方案中的代碼,且當通過運行破解方案的代碼成功獲取root權限時,為該指定程序建立具有root權限的後臺服務進程,從而完成該指定程序欲執行的root權限下的操作。可見,本實施例所提供的方法在獲取root權限時,不修改作業系統中的文件,而且僅在當不具有root權限的指定程序欲執行root權限下的操作時才會觸發,因此,可以在保證作業系統不被破壞的情況下,對作業系統進行臨時root,既保證了作業系統的穩定性,又能完成root下的操作。
[0113]實施例三
[0114]圖3是本發明一個實施例提供的一種建立root權限的裝置結構框圖,該裝置300用於當不具有root權限的指定程序欲執行root權限下的操作時,該裝置300包括:
[0115]請求接收模塊310,配置為接收指定程序發出的獲取root權限的請求;
[0116]Root模塊320,配置為獲取並運行至少一個破解方案中的代碼,其中,破解方案用於通過作業系統的漏洞獲取作業系統的root權限;
[0117]服務建立模塊330,配置為當通過運行破解方案的代碼成功獲取root權限時,為指定程序建立具有root權限的後臺服務進程,後臺服務進程用於完成指定程序欲執行的root權限下的操作。
[0118]可選地,root模塊包括320:
[0119]檢測單元321,配置為檢測本地緩存中是否存在具有已成功獲取root權限的標記的解決方案的代碼;
[0120]本地root單元322,配置為當存在具有已成功獲取root權限的標記的解決方案的代碼時,獲取具有已成功獲取root權限的標記的解決方案的代碼。
[0121]可選地,root模塊320,包括:
[0122]信息獲取單元323,配置為獲取本機信息;
[0123]發送單元324,配置為向伺服器發送攜帶有本機信息的獲取解決方案的請求;
[0124]接收單元325,配置為接收伺服器發送的與本機信息對應的至少一個解決方案的代碼;
[0125]其中,本機信息包括本機的型號和/或作業系統的內核版本號。
[0126]可選地,至少一個解決方案的代碼存儲於動態連結庫SO文件中,且至少一個解決方案按照對本機相同的機型的獲取root成功率由高到低進行排列。
[0127]可選地,root模塊320還配置為按照解決方案的排列順序,依次運行每一個解決方案中的代碼,直至成功獲取root權限。
[0128]可選地,該裝置300還包括標記模塊340,標記模塊340配置為在成功獲取root權限之後,在本地緩存成功獲取root權限的解決方案的代碼,並為解決方案增加已成功獲取root權限的標記。
[0129]可選地,root模塊320還被配置為通過JAVA本地調用接口 JNI運行SO文件。
[0130]可選地,服務建立模塊330,包括:
[0131]su文件運行單元331,配置為當通過運行破解方案的代碼成功獲取root權限時,運行具有root權限的su文件;
[0132]服務建立單元332,配置為通過su文件為指定程序建立具有root權限的後臺服務進程。
[0133]本發明實施例提供了一種建立root權限的裝置,該裝置通過接收指定程序發出的獲取root權限的請求,獲取並運行至少一個破解方案中的代碼,且當通過運行破解方案的代碼成功獲取root權限時,為該指定程序建立具有root權限的後臺服務進程,從而完成該指定程序欲執行的root權限下的操作。可見,本實施例所提供的方法在獲取root權限時,不修改作業系統中的文件,而且僅在當不具有root權限的指定程序欲執行root權限下的操作時才會觸發,因此,可以在保證作業系統不被破壞的情況下,對作業系統進行臨時root,既保證了作業系統的穩定性,又能完成root下的操作。
[0134]本發明上述的實施例可以應用於各種需要授予root權限的軟體或產品中,
[0135]如卸載系統預裝的軟體、安裝或卸載應用程式、備份或還原應用數據、啟用或禁用應用程式。以及檢測並關閉吸費的軟體,或者是清理自啟動的軟體等,或者是應用在byod等公私隔離的設備中的各種需要調用root權限的場景,以及可用於清理系統文件,或者是用於檢測不安全的手機端的釣魚網站等。
[0136]在此處所提供的說明書中,說明了大量具體細節。然而,能夠理解,本發明的實施例可以在沒有這些具體細節的情況下實踐。在一些實例中,並未詳細示出公知的方法、結構和技術,以便不模糊對本說明書的理解。
[0137]類似地,應當理解,為了精簡本公開並幫助理解各個發明方面中的一個或多個,在上面對本發明的示例性實施例的描述中,本發明的各個特徵有時被一起分組到單個實施例、圖、或者對其的描述中。然而,並不應將該公開的方法解釋成反映如下意圖:即所要求保護的本發明要求比在每個權利要求中所明確記載的特徵更多的特徵。更確切地說,如下面的權利要求書所反映的那樣,發明方面在於少於前面公開的單個實施例的所有特徵。因此,遵循【具體實施方式】的權利要求書由此明確地併入該【具體實施方式】,其中每個權利要求本身都作為本發明的單獨實施例。
[0138]本領域那些技術人員可以理解,可以對實施例中的設備中的模塊進行自適應性地改變並且把它們設置在與該實施例不同的一個或多個設備中。可以把實施例中的模塊或單元或組件組合成一個模塊或單元或組件,以及此外可以把它們分成多個子模塊或子單元或子組件。除了這樣的特徵和/或過程或者單元中的至少一些是相互排斥之外,可以採用任何組合對本說明書(包括伴隨的權利要求、摘要和附圖)中公開的所有特徵以及如此公開的任何方法或者設備的所有過程或單元進行組合。除非另外明確陳述,本說明書(包括伴隨的權利要求、摘要和附圖)中公開的每個特徵可以由提供相同、等同或相似目的的替代特徵來代替。
[0139]此外,本領域的技術人員能夠理解,儘管在此所述的一些實施例包括其它實施例中所包括的某些特徵而不是其它特徵,但是不同實施例的特徵的組合意味著處於本發明的範圍之內並且形成不同的實施例。例如,在權利要求書中,所要求保護的實施例的任意之一都可以以任意的組合方式來使用。
[0140]本發明的各個部件實施例可以以硬體實現,或者以在一個或者多個處理器上運行的軟體模塊實現,或者以它們的組合實現。本領域的技術人員應當理解,可以在實踐中使用微處理器或者數位訊號處理器(DSP)來實現根據本發明實施例的用於在獲取root權限的裝置中的一些或者全部部件的一些或者全部功能。本發明還可以實現為用於執行這裡所描述的方法的一部分或者全部的設備或者裝置程序(例如,電腦程式和電腦程式產品)。這樣的實現本發明的程序可以存儲在計算機可讀介質上,或者可以具有一個或者多個信號的形式。這樣的信號可以從網際網路網站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。
[0141]應該注意的是上述實施例對本發明進行說明而不是對本發明進行限制,並且本領域技術人員在不脫離所附權利要求的範圍的情況下可設計出替換實施例。在權利要求中,不應將位於括號之間的任何參考符號構造成對權利要求的限制。單詞「包含」不排除存在未列在權利要求中的元件或步驟。位於元件之前的單詞「一」或「一個」不排除存在多個這樣的元件。本發明可以藉助於包括有若干不同元件的硬體以及藉助於適當編程的計算機來實現。在列舉了若干裝置的單元權利要求中,這些裝置中的若干個可以是通過同一個硬體項來具體體現。單詞第一、第二、以及第三等的使用不表示任何順序。可將這些單詞解釋為名稱。
[0142]至此,本領域技術人員應認識到,雖然本文已詳盡示出和描述了本發明的多個示例性實施例,但是,在不脫離本發明精神和範圍的情況下,仍可根據本發明公開的內容直接確定或推導出符合本發明原理的許多其他變型或修改。因此,本發明的範圍應被理解和認定為覆蓋了所有這些其他變型或修改。
[0143]本發明實施例還公開了 Al.—種建立root權限的方法,用於當不具有root權限的指定程序欲執行root權限下的操作時,包括:
[0144]接收所述指定程序發出的獲取root權限的請求;
[0145]獲取並運行至少一個破解方案中的代碼,其中,所述破解方案用於通過作業系統的漏洞獲取所述作業系統的root權限;
[0146]當通過運行所述破解方案的代碼成功獲取root權限時,為所述指定程序建立具有root權限的後臺服務進程,所述後臺服務進程用於完成所述指定程序欲執行的root權限下的操作。
[0147]A2.根據Al所述的方法,其中,所述獲取至少一個破解方案的代碼,包括:
[0148]檢測本地緩存中是否存在具有已成功獲取root權限的標記的解決方案的代碼;
[0149]當存在時,獲取所述具有已成功獲取root權限的標記的解決方案的代碼。
[0150]A3.根據Al或A2所述的方法,其中,所述獲取至少一個破解方案的代碼,包括:
[0151]獲取本機信息;
[0152]向伺服器發送攜帶有所述本機信息的獲取解決方案的請求;
[0153]接收所述伺服器發送的與所述本機信息對應的至少一個解決方案的代碼;
[0154]其中,所述本機信息包括所述本機的型號和/或作業系統的內核版本號。
[0155]A4.根據A3所述的方法,其中,所述至少一個解決方案的代碼存儲於動態連結庫SO文件中,且所述至少一個解決方案按照對所述本機相同的機型的獲取root成功率由高到低進行排列。
[0156]A5.根據A4所述的方法,其中,所述運行至少一個破解方案中的代碼,包括:
[0157]按照所述解決方案的排列順序,依次運行每一個解決方案中的代碼,直至成功獲取root權限。
[0158]A6.根據A5所述的方法,其中,在成功獲取root權限之後,所述方法還包括:
[0159]在本地緩存所述成功獲取root權限的解決方案的代碼,並為所述解決方案增加已成功獲取root權限的標記。
[0160]A7.根據A4至A6中任一項所述的方法,其中,所述運行至少一個破解方案中的代碼,包括:
[0161]通過JAVA本地調用接口 JNI運行所述SO文件。
[0162]AS.根據Al至A7中任一項所述的方法,其中,所述當通過運行所述破解方案的代碼成功獲取root權限時,為所述指定程序建立具有root權限的後臺服務進程,包括:
[0163]當通過運行所述破解方案的代碼成功獲取root權限時,運行具有root權限的su文件,通過所述su文件為所述指定程序建立具有root權限的後臺服務進程。
[0164]本發明實施例還公開了 B9.—種建立root權限的裝置,用於當不具有root權限的指定程序欲執行root權限下的操作時,包括:
[0165]請求接收模塊,配置為接收所述指定程序發出的獲取root權限的請求;
[0166]Root模塊,配置為獲取並運行至少一個破解方案中的代碼,其中,所述破解方案用於通過作業系統的漏洞獲取所述作業系統的root權限;
[0167]服務建立模塊,配置為當通過運行所述破解方案的代碼成功獲取root權限時,為所述指定程序建立具有root權限的後臺服務進程,所述後臺服務進程用於完成所述指定程序欲執行的root權限下的操作。
[0168]B10.根據B9所述的裝置,其中,所述root模塊包括:
[0169]檢測單元,配置為檢測本地緩存中是否存在具有已成功獲取root權限的標記的解決方案的代碼;
[0170]本地root單元,配置為當存在具有已成功獲取root權限的標記的解決方案的代碼時,獲取所述具有已成功獲取root權限的標記的解決方案的代碼。
[0171]Bll.根據B9或BlO所述的裝置,其中,所述root模塊,包括:
[0172]信息獲取單元,配置為獲取本機信息;
[0173]發送單元,配置為向伺服器發送攜帶有所述本機信息的獲取解決方案的請求;
[0174]接收單元,配置為接收所述伺服器發送的與所述本機信息對應的至少一個解決方案的代碼;
[0175]其中,所述本機信息包括所述本機的型號和/或作業系統的內核版本號。
[0176]B12.根據Bll所述的裝置,其中,所述至少一個解決方案的代碼存儲於動態連結庫SO文件中,且所述至少一個解決方案按照對所述本機相同的機型的獲取root成功率由聞到低進行排列。
[0177]B13.根據B12所述的裝置,其中,所述root模塊還配置為按照所述解決方案的排列順序,依次運行每一個解決方案中的代碼,直至成功獲取root權限。
[0178]B14.根據B13所述的裝置,其中,所述裝置還包括標記模塊,所述標記模塊配置為在成功獲取root權限之後,在本地緩存所述成功獲取root權限的解決方案的代碼,並為所述解決方案增加已成功獲取root權限的標記。
[0179]B15.根據B12至B14中任一項所述的裝置,其中,所述root模塊還被配置為通過JAVA本地調用接口 JNI運行所述SO文件。
[0180]B16.根據B9至B15中任一項所述的裝置,其中,所述服務建立模塊,包括:
[0181]su文件運行單元,配置為當通過運行所述破解方案的代碼成功獲取root權限時,運行具有root權限的su文件;
[0182]服務建立單元,配置為通過所述su文件為所述指定程序建立具有root權限的後臺服務進程。
【權利要求】
1.一種建立root權限的方法,用於當不具有root權限的指定程序欲執行root權限下的操作時,包括: 接收所述指定程序發出的獲取root權限的請求; 獲取並運行至少一個破解方案中的代碼,其中,所述破解方案用於通過作業系統的漏洞獲取所述作業系統的root權限; 當通過運行所述破解方案的代碼成功獲取root權限時,為所述指定程序建立具有root權限的後臺服務進程,所述後臺服務進程用於完成所述指定程序欲執行的root權限下的操作。
2.根據權利要求1所述的方法,其中,所述獲取至少一個破解方案的代碼,包括: 檢測本地緩存中是否存在具有已成功獲取root權限的標記的解決方案的代碼; 當存在時,獲取所述具有已成功獲取root權限的標記的解決方案的代碼。
3.根據權利要求1或2所述的方法,其中,所述獲取至少一個破解方案的代碼,包括: 獲取本機信息; 向伺服器發送攜帶有所述本機信息的獲取解決方案的請求; 接收所述伺服器發送的與所述本機信息對應的至少一個解決方案的代碼; 其中,所述本機信息包括所述本機的型號和/或作業系統的內核版本號。
4.根據權利要求3所述的方法,其中,所述至少一個解決方案的代碼存儲於動態連結庫SO文件中,且所述至少一個解決方案按照對所述本機相同的機型的獲取root成功率由聞到低進行排列。
5.根據權利要求4所述的方法,其中,所述運行至少一個破解方案中的代碼,包括: 按照所述解決方案的排列順序,依次運行每一個解決方案中的代碼,直至成功獲取root權限。
6.根據權利要求5所述的方法,其中,在成功獲取root權限之後,所述方法還包括: 在本地緩存所述成功獲取root權限的解決方案的代碼,並為所述解決方案增加已成功獲取root權限的標記。
7.根據權利要求4至6中任一項所述的方法,其中,所述運行至少一個破解方案中的代碼,包括: 通過JAVA本地調用接口 JNI運行所述SO文件。
8.根據權利要求1至7中任一項所述的方法,其中,所述當通過運行所述破解方案的代碼成功獲取root權限時,為所述指定程序建立具有root權限的後臺服務進程,包括: 當通過運行所述破解方案的代碼成功獲取root權限時,運行具有root權限的su文件,通過所述su文件為所述指定程序建立具有root權限的後臺服務進程。
9.一種建立root權限的裝置,用於當不具有root權限的指定程序欲執行root權限下的操作時,包括: 請求接收模塊,配置為接收所述指定程序發出的獲取root權限的請求; Root模塊,配置為獲取並運行至少一個破解方案中的代碼,其中,所述破解方案用於通過作業系統的漏洞獲取所述作業系統的root權限; 服務建立模塊,配置為當通過運行所述破解方案的代碼成功獲取root權限時,為所述指定程序建立具有root權限的後臺服務進程,所述後臺服務進程用於完成所述指定程序欲執行的root權限下的操作。
10.根據權利要求9所述的裝置,其中,所述root模塊包括: 檢測單元,配置為檢測本地緩存中是否存在具有已成功獲取root權限的標記的解決方案的代碼; 本地10t單元,配置為當存在具有已成功獲取10t權限的標記的解決方案的代碼時,獲取所述具有已成功獲取root權限的標記的解決方案的代碼。
【文檔編號】G06F9/445GK104199711SQ201410514642
【公開日】2014年12月10日 申請日期:2014年9月29日 優先權日:2014年9月29日
【發明者】劉雲鵬, 王彥峰, 宋振濤, 呂品 申請人:北京奇虎科技有限公司, 奇智軟體(北京)有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀