應(yīng)用程序免Root運行控制方法與裝置制造方法
【專利摘要】本發(fā)明涉及一種應(yīng)用程序免Root運行控制方法,包括如下步驟:反射調(diào)用與宿主應(yīng)用程序具有不同包名的作為該宿主應(yīng)用程序附帶資源的安裝包,以加載該安裝包所實現(xiàn)的目標(biāo)應(yīng)用程序;由宿主應(yīng)用程序調(diào)用監(jiān)控模塊,對目標(biāo)應(yīng)用程序的活動進行監(jiān)控;當(dāng)監(jiān)控到目標(biāo)應(yīng)用程序需要調(diào)用未匹配的資源時,重定向相關(guān)調(diào)用指令的資源引用,以為該目標(biāo)應(yīng)用程序的運行提供正確資源。此外,本發(fā)明還涉及與該方法相應(yīng)的一種應(yīng)用程序免Root運行控制裝置。本發(fā)明使得目標(biāo)應(yīng)用程序能夠運行于沙箱運行環(huán)境中,并且能確保系統(tǒng)的安全。
【專利說明】應(yīng)用程序免Root運行控制方法與裝置
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及計算機軟件安全【技術(shù)領(lǐng)域】,尤其涉及一種應(yīng)用程序免Root運行控制 方法及相應(yīng)的裝置。
【背景技術(shù)】
[0002] 沙箱是一種按照安全策略限制程序行為的執(zhí)行環(huán)境,目前已經(jīng)廣泛實用于各種操 作系統(tǒng)中。以Android為例,一些應(yīng)用程序,出于實現(xiàn)應(yīng)用程序固有功能需要之外的目的, 特別是商業(yè)目的,隨意申請系統(tǒng)權(quán)限,獲取用戶隱私數(shù)據(jù)、執(zhí)行網(wǎng)絡(luò)訪問、保持設(shè)備活動、發(fā) 送短信行為等。輕則可能導(dǎo)致用戶隱私數(shù)據(jù)泄露,或者占用系統(tǒng)資源,重則可能通過惡意扣 費、植入廣告、消耗資費、欺詐誘騙等,使用戶遭受損失。因此,通過沙箱技術(shù)提供的執(zhí)行環(huán) 境,由沙箱對系統(tǒng)的資源、權(quán)限進行管理,讓應(yīng)用程序于該沙箱中運行,應(yīng)用程序的訪問先 經(jīng)沙箱按安全策略進行審查,由此,形成一種相對于系統(tǒng)本身的隔離運行效果,可以有效地 保護系統(tǒng)的安全。對于沙箱中所用到的安全策略,適應(yīng)各種不同的操作系統(tǒng)有不同的細節(jié) 考慮,這些有關(guān)技術(shù)實現(xiàn)的基本知識,均已為本領(lǐng)域技術(shù)人員所掌握,恕不贅述。
[0003] 目前有多種實例來實現(xiàn)沙箱技術(shù)。這些實例中,一方面,沙箱技術(shù)為了兼容市面的 多種應(yīng)用,一般僅僅通過限定沙箱的安全策略,控制該應(yīng)用的可執(zhí)行資源而實現(xiàn)。然而,在 安全領(lǐng)域,攻防雙方的技術(shù)水平此消彼長,傳統(tǒng)的僅僅通過限制安全策略的沙箱,有時難以 確保能夠達到所期望的目的,必須借助于更富技術(shù)含量的新方案。另一方面,沙箱技術(shù)往往 涉及系統(tǒng)底層操作,而在諸如以Android為代表的Unix系的操作系統(tǒng)中,本身有著嚴格的 權(quán)限管理,這樣,便導(dǎo)致在未獲得Root授權(quán)的前提下,難以應(yīng)用沙箱技術(shù)去構(gòu)造沙箱??梢?獨辟蹊徑,去實現(xiàn)免Root環(huán)境下的沙箱環(huán)境,然而,在這種情況下,往往會引起多方面的一 些技術(shù)障礙,這些障礙依沙箱的具體實現(xiàn)方式而定。
[0004] 目前現(xiàn)有技術(shù)中,對于這種免Root沙箱,盡管存在理論可能,未見成熟案例。但 是,從以上的分析可以看出,要基于免Root環(huán)境實現(xiàn)一種更為安全的沙箱技術(shù),需要結(jié)合 其具體技術(shù)原理,來考慮其自身的具體構(gòu)造以及在必要時考慮對相關(guān)應(yīng)用程序的重構(gòu),使 得重構(gòu)后的應(yīng)用程序可以無縫運行于已經(jīng)基于系統(tǒng)而保持相對獨立的沙箱之中,通過該應(yīng) 用程序在沙箱中的運行,實現(xiàn)應(yīng)有的安全控制效果。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明的第一目的在于提供一種應(yīng)用程序免Root運行控制方法,以確保免Root 沙箱環(huán)境中已配置的應(yīng)用程序的安全運行。
[0006] 本發(fā)明的第二目在于提供一種適于構(gòu)造第一目的所述的方法的應(yīng)用程序免Root 運行控制裝置。
[0007] 為實現(xiàn)本發(fā)明的目的,本發(fā)明采取如下技術(shù)方案:
[0008] 本發(fā)明提供的一種應(yīng)用程序免Root運行控制方法,包括如下步驟:
[0009] 反射調(diào)用與宿主應(yīng)用程序具有不同包名的作為該宿主應(yīng)用程序附帶資源的安裝 包,以加載該安裝包所實現(xiàn)的目標(biāo)應(yīng)用程序;
[0010] 由宿主應(yīng)用程序調(diào)用監(jiān)控模塊,對目標(biāo)應(yīng)用程序的活動進行監(jiān)控;
[0011] 當(dāng)監(jiān)控到目標(biāo)應(yīng)用程序需要調(diào)用未匹配的資源時,重定向相關(guān)調(diào)用指令的資源引 用,以為該目標(biāo)應(yīng)用程序的運行提供正確資源。
[0012] 較佳的,所述宿主應(yīng)用程序的包名為目標(biāo)應(yīng)用程序的包名附加前綴而得。
[0013] 較佳的,當(dāng)目標(biāo)應(yīng)用程序進程調(diào)用參數(shù)涉及其包名時,進行包名轉(zhuǎn)換,將該包名重 定向到正確的資源。
[0014] 較佳的,監(jiān)控到目標(biāo)應(yīng)用程序調(diào)用未匹配的所述安裝包中的資源時,采用反射調(diào) 用方式為相應(yīng)的調(diào)用指令重定向到該安裝包中的正確資源。
[0015] 具體的,所述宿主應(yīng)用程序以所述安裝包的配置文件向系統(tǒng)注冊,注冊前將配置 文件中涉及的包名修改為宿主應(yīng)用程序的包名。
[0016] 進一步,采用反射調(diào)用加載目標(biāo)應(yīng)用程序時,通過對宿主應(yīng)用程序的已安裝資源 的調(diào)用而滿足目標(biāo)應(yīng)用程序的資源訪問。
[0017] 較佳的,所述監(jiān)控模塊被注冊為服務(wù)進程,以鉤子函數(shù)關(guān)聯(lián)目標(biāo)應(yīng)用程序活動進 程的調(diào)用指令以實現(xiàn)對所述目標(biāo)應(yīng)用程序的活動監(jiān)控。
[0018] 具體的,所述未匹配的資源包括因目標(biāo)應(yīng)用程序未安裝卻被反射調(diào)用而導(dǎo)致的被 認為錯誤訪問的資源。
[0019] 較佳的,所述未匹配的資源包括系統(tǒng)資源和該安裝包中的資源。
[0020] 進一步,當(dāng)監(jiān)控到目標(biāo)應(yīng)用程序進行未經(jīng)授權(quán)的訪問時,向相關(guān)調(diào)用指令返回自 定義數(shù)據(jù)。
[0021] 根據(jù)本發(fā)明一實施例所揭示,所述宿主程序的資源文件和/或動態(tài)庫文件與所述 目標(biāo)應(yīng)用安裝包中的相應(yīng)文件相同。
[0022] 本發(fā)明提供的一種應(yīng)用程序免Root運行控制裝置,包括:
[0023] 調(diào)用單元,用于反射調(diào)用與宿主應(yīng)用程序具有不同包名的作為該宿主應(yīng)用程序附 帶資源的安裝包,以加載該安裝包所實現(xiàn)的目標(biāo)應(yīng)用程序;
[0024] 監(jiān)控模塊,被配置為由宿主應(yīng)用程序調(diào)用,對目標(biāo)應(yīng)用程序的活動進行監(jiān)控;
[0025] 處理單元,當(dāng)監(jiān)控到目標(biāo)應(yīng)用程序需要調(diào)用未匹配的資源時,重定向相關(guān)調(diào)用指 令的資源引用,以為該目標(biāo)應(yīng)用程序的運行提供正確資源。
[0026] 相較于現(xiàn)有技術(shù),本發(fā)明至少具有如下優(yōu)點:
[0027] 1、借助目標(biāo)應(yīng)用程序安裝包自身的內(nèi)部文件為該安裝包加殼,生成加殼安裝 包,使加殼安裝包具有與原安裝包具有不同的包名(PackageName),原安裝包的對應(yīng)組 件和動作便被加殼安裝包進行注冊,由此,在宿主應(yīng)用程序安裝運行后,再借助反射調(diào) 用機制去加載安裝包的四大組件時,借助相應(yīng)函數(shù)使宿主應(yīng)用程序的包名與目標(biāo)應(yīng)用 程序所調(diào)度的包名保持一致,在Android系統(tǒng)中,既能使活動組件和服務(wù)組件建立與 ActivityManagerService的正常通信,又能使活動組件、服務(wù)組件以及廣播組件等,順利被 PackageManagerService識別,降低現(xiàn)有技術(shù)中有關(guān)加殼應(yīng)用程序運行異常的錯誤率。
[0028] 2、通過在加殼的宿主應(yīng)用程序中配置用于反射調(diào)用原安裝包的加載模塊,并且由 加載模塊建立起原安裝包的目標(biāo)應(yīng)用程序與沙箱運行環(huán)境之間的通信,使得目標(biāo)應(yīng)用程序 的活動過程可以進一步被沙箱運行環(huán)境進行監(jiān)視,從而對其適用安全策略,以及對其進行 資源引用重定向等,確保目標(biāo)應(yīng)用程序能被宿主應(yīng)用程序正常加載并保持正常運行。
[0029] 3、由于宿主應(yīng)用程序利用原安裝包的Androidmanifest. xml為藍本,修改 包名后,完成了正常的安裝注冊程序,不必為被反射調(diào)用的目標(biāo)應(yīng)用程序的各個組件 (Activity, Service, Receiver)單獨構(gòu)造主函數(shù)入口(ActivityThread. main)和提供 LoadedAPK對象,也不必考慮因包名而帶來的PackageManagerService校驗的程序?qū)崿F(xiàn)復(fù) 雜度問題,從而大大提高程序運行效率。
[0030] 本發(fā)明附加的方面和優(yōu)點將在下面的描述中部分給出,這些將從下面的描述中變 得明顯,或通過本發(fā)明的實踐了解到。
【專利附圖】
【附圖說明】
[0031] 本發(fā)明上述的和/或附加的方面和優(yōu)點從下面結(jié)合附圖對實施例的描述中將變 得明顯和容易理解,其中 :
[0032] 圖1是本發(fā)明的應(yīng)用程序加殼配置方法的流程原理圖;
[0033] 圖2是本發(fā)明的應(yīng)用程序加殼配置裝置的原理圖;
[0034] 圖3是本發(fā)明的應(yīng)用程序免Root運行控制方法的流程原理圖;
[0035] 圖4是本發(fā)明的應(yīng)用程序免Root運行控制裝置的原理圖。
【具體實施方式】
[0036] 下面詳細描述本發(fā)明的實施例,所述實施例的示例在附圖中示出,其中自始至終 相同或類似的標(biāo)號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附 圖描述的實施例是示例性的,僅用于解釋本發(fā)明,而不能解釋為對本發(fā)明的限制。
[0037] 本【技術(shù)領(lǐng)域】技術(shù)人員可以理解,除非特意聲明,這里使用的單數(shù)形式"一"、"一 個"、"所述"和"該"也可包括復(fù)數(shù)形式。應(yīng)該進一步理解的是,本發(fā)明的說明書中使用的措 辭"包括"是指存在所述特征、整數(shù)、步驟、操作、元件和/或組件,但是并不排除存在或添加 一個或多個其他特征、整數(shù)、步驟、操作、元件、組件和/或它們的組。應(yīng)該理解,當(dāng)我們稱元 件被"連接"或"耦接"到另一元件時,它可以直接連接或耦接到其他元件,或者也可以存在 中間元件。此外,這里使用的"連接"或"耦接"可以包括無線連接或無線耦接。這里使用 的措辭"和/或"包括一個或更多個相關(guān)聯(lián)的列出項的全部或任一單元和全部組合。
[0038] 本【技術(shù)領(lǐng)域】技術(shù)人員可以理解,除非另外定義,這里使用的所有術(shù)語(包括技術(shù) 術(shù)語和科學(xué)術(shù)語),具有與本發(fā)明所屬領(lǐng)域中的普通技術(shù)人員的一般理解相同的意義。還應(yīng) 該理解的是,諸如通用字典中定義的那些術(shù)語,應(yīng)該被理解為具有與現(xiàn)有技術(shù)的上下文中 的意義一致的意義,并且除非像這里一樣被特定定義,否則不會用理想化或過于正式的含 義來解釋。
[0039] 本【技術(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è)備。
[0040] 本【技術(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、WIMX的移動通信、基于TCP/IP、UDP協(xié) 議的計算機網(wǎng)絡(luò)通信以及基于藍牙、紅外傳輸標(biāo)準(zhǔn)的近距無線傳輸方式。
[0041] 本領(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)然地,此類概念也不受任 何形式的終端所限制。
[0042] 本發(fā)明以下即將描述的一種方法和裝置所實施的應(yīng)用場景,是安裝在移動終端上 的基于Android操作系統(tǒng)的運行環(huán)境。
[0043] 為了說明本發(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ā)明。
[0044] 本領(lǐng)域技術(shù)人員應(yīng)當(dāng)知曉,本發(fā)明是基于免Root提權(quán)而提出的,然而,提權(quán)操 作只是Android系統(tǒng)所實施的權(quán)限管理控制,本發(fā)明也當(dāng)然地適用于已經(jīng)Root提權(quán)的 Android操作系統(tǒng)中。
[0045] 本發(fā)明是基于沙箱原理而提出的,故而,本領(lǐng)域技術(shù)人員得以結(jié)合公知的沙箱實 現(xiàn)原理來理解本發(fā)明的實施。沙箱的作用是為目標(biāo)應(yīng)用程序的提供相對封閉的運行環(huán)境, 使應(yīng)用程序?qū)ο到y(tǒng)的資源訪問,借助沙箱安全策略的應(yīng)用,而被限制在規(guī)定的范圍之內(nèi)。因 而,本發(fā)明的實質(zhì)在于提供一種沙箱實例,從兩個方面來實現(xiàn),第一方面是提供構(gòu)造目標(biāo)應(yīng) 用程序的解決方案,第二方面是提供與前者相應(yīng)的運行控制方案。這兩個方面可以被集成 到一個沙箱實現(xiàn)軟件中,利用其第一方面的實現(xiàn)對目標(biāo)應(yīng)用程序進行加工,進而利用其第 二方面的實現(xiàn),為目標(biāo)應(yīng)用程序提供安全的沙箱運行環(huán)境。
[0046] 有鑒于此,本發(fā)明的應(yīng)用程序加殼配置方法,主要體現(xiàn)沙箱實例的第一方面,用于 加工適配于相應(yīng)的沙箱運行環(huán)境的目標(biāo)應(yīng)用程序,在如圖1所示的實例中,該方法包括如 下步驟:
[0047] S11、解析所述應(yīng)用程序原安裝包,獲得其內(nèi)部文件。
[0048] 這里所稱的應(yīng)用程序,即前文所稱的目標(biāo)應(yīng)用程序。由于本發(fā)明基于免Root需求 而提出,根據(jù)Android固有的原理,所述目標(biāo)應(yīng)用程序一般為用戶自行安裝的第三方應(yīng)用。 [0049] 本發(fā)明可以通過接管安裝器,來實現(xiàn)對第三方應(yīng)用的安裝控制。具體而言,可以 由用戶通過本發(fā)明提供的沙箱應(yīng)用程序下載并安裝該第三方應(yīng)用而獲得所述原安裝包,或 者,也可由該沙箱應(yīng)用程序從/data/app中獲取相應(yīng)安裝包文件。對于已裝應(yīng)用,可以本發(fā) 明處理完畢之后,誘導(dǎo)用戶卸載舊應(yīng)用,安裝新應(yīng)用。
[0050] 解析應(yīng)用程序的原安裝包的手段,為本領(lǐng)域技術(shù)人員所熟知。安裝包APK文件本 質(zhì)上是利用ZIP壓縮技術(shù)結(jié)合簽名技術(shù)實現(xiàn)的壓縮包,因此,一方面可以通過解壓技術(shù)釋 放其內(nèi)部文件,另一方面還可通過Apktool之類的工具軟件獲取其內(nèi)部文件(在這種情況 下其代碼文件會被反向為.smali文件)。本領(lǐng)域技術(shù)人員均能嫻熟地利用這些公知技術(shù)在 一個給定目錄中對原安裝包進行處理,從而通過內(nèi)存操作(非文件操作)的方式來獲得其 中的內(nèi)部文件。
[0051] Android安裝包的內(nèi)部文件,參閱下表所示:
[0052] 表IAPK文件內(nèi)部的文件結(jié)構(gòu)
[0053]
【權(quán)利要求】
1. 一種應(yīng)用程序免Root運行控制方法,其特征在于,包括如下步驟: 反射調(diào)用與宿主應(yīng)用程序具有不同包名的作為該宿主應(yīng)用程序附帶資源的安裝包,W 加載該安裝包所實現(xiàn)的目標(biāo)應(yīng)用程序; 由宿主應(yīng)用程序調(diào)用監(jiān)控模塊,對目標(biāo)應(yīng)用程序的活動進行監(jiān)控; 當(dāng)監(jiān)控到目標(biāo)應(yīng)用程序需要調(diào)用未匹配的資源時,重定向相關(guān)調(diào)用指令的資源引用, W為該目標(biāo)應(yīng)用程序的運行提供正確資源。
2. 根據(jù)權(quán)利要求1所述的應(yīng)用程序免Root運行控制方法,其特征在于,所述宿主應(yīng)用 程序的包名為目標(biāo)應(yīng)用程序的包名附加前綴而得。
3. 根據(jù)權(quán)利要求1所述的應(yīng)用程序免Root運行控制方法,其特征在于,當(dāng)目標(biāo)應(yīng)用程 序進程調(diào)用參數(shù)涉及其包名時,進行包名轉(zhuǎn)換,將該包名重定向到正確的資源。
4. 根據(jù)權(quán)利要求1所述的應(yīng)用程序免Root運行控制方法,其特征在于,監(jiān)控到目標(biāo)應(yīng) 用程序調(diào)用未匹配的所述安裝包中的資源時,采用反射調(diào)用方式為相應(yīng)的調(diào)用指令重定向 到該安裝包中的正確資源。
5. 根據(jù)權(quán)利要求1所述的應(yīng)用程序免Root運行控制方法,其特征在于,所述宿主應(yīng)用 程序W所述安裝包的配置文件向系統(tǒng)注冊,注冊前將配置文件中涉及的包名修改為宿主應(yīng) 用程序的包名。
6. 根據(jù)權(quán)利要求1所述的應(yīng)用程序免Root運行控制方法,其特征在于,采用反射調(diào)用 加載目標(biāo)應(yīng)用程序時,通過對宿主應(yīng)用程序的已安裝資源的調(diào)用而滿足目標(biāo)應(yīng)用程序的資 源訪問。
7. 根據(jù)權(quán)利要求1所述的應(yīng)用程序免Root運行控制方法,其特征在于,所述監(jiān)控模塊 被注冊為服務(wù)進程,W鉤子函數(shù)關(guān)聯(lián)目標(biāo)應(yīng)用程序活動進程的調(diào)用指令W實現(xiàn)對所述目標(biāo) 應(yīng)用程序的活動監(jiān)控。
8. 根據(jù)權(quán)利要求1所述的應(yīng)用程序免Root運行控制方法,其特征在于,所述未匹配的 資源包括因目標(biāo)應(yīng)用程序未安裝卻被反射調(diào)用而導(dǎo)致的被認為錯誤訪問的資源。
9. 根據(jù)權(quán)利要求1所述的應(yīng)用程序免Root運行控制方法,其特征在于,所述未匹配的 資源包括系統(tǒng)資源和該安裝包中的資源。
10. -種應(yīng)用程序免Root運行控制裝置,其特征在于,包括: 調(diào)用單元,用于反射調(diào)用與宿主應(yīng)用程序具有不同包名的作為該宿主應(yīng)用程序附帶資 源的安裝包,W加載該安裝包所實現(xiàn)的目標(biāo)應(yīng)用程序; 監(jiān)控模塊,被配置為由宿主應(yīng)用程序調(diào)用,對目標(biāo)應(yīng)用程序的活動進行監(jiān)控; 處理單元,當(dāng)監(jiān)控到目標(biāo)應(yīng)用程序需要調(diào)用未匹配的資源時,重定向相關(guān)調(diào)用指令的 資源引用,W為該目標(biāo)應(yīng)用程序的運行提供正確資源。
【文檔編號】G06F21/12GK104462879SQ201410712400
【公開日】2015年3月25日 申請日期:2014年11月28日 優(yōu)先權(quán)日:2014年11月28日
【發(fā)明者】楊威 申請人:北京奇虎科技有限公司