国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種安卓應(yīng)用的權(quán)限控制方法和裝置與流程

      文檔序號(hào):11156158閱讀:280來(lái)源:國(guó)知局
      一種安卓應(yīng)用的權(quán)限控制方法和裝置與制造工藝

      本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,具體涉及一種安卓應(yīng)用的權(quán)限控制方法和裝置。



      背景技術(shù):

      現(xiàn)有技術(shù)中,安卓系統(tǒng)中無(wú)法實(shí)現(xiàn)對(duì)多個(gè)相同的安卓應(yīng)用的并行運(yùn)行,其原因是:每個(gè)安卓應(yīng)用在安裝在安卓系統(tǒng)中時(shí),該安卓應(yīng)用的安裝包中的配置文件中的配置信息將被注冊(cè)到安卓系統(tǒng)中,安卓系統(tǒng)通過(guò)這些注冊(cè)信息來(lái)獲知安卓應(yīng)用的存在以及運(yùn)行相關(guān)信息,在一個(gè)安卓應(yīng)用已安裝到安卓系統(tǒng)的基礎(chǔ)上,如果還想將該安卓應(yīng)用的分身應(yīng)用再次安裝到安卓系統(tǒng)中,安卓系統(tǒng)因已接收過(guò)相同的注冊(cè)信息而不能接納此分身應(yīng)用的注冊(cè),因此分身應(yīng)用對(duì)于安卓系統(tǒng)來(lái)說(shuō)是未知的,進(jìn)而分身系統(tǒng)無(wú)法正常與安卓系統(tǒng)進(jìn)行交互,導(dǎo)致分身系統(tǒng)無(wú)法正常運(yùn)行。

      然而,對(duì)多個(gè)相同的安卓應(yīng)用的并行運(yùn)行的需求在用戶(hù)群體中是存在的,常見(jiàn)的,用戶(hù)希望在自己的智能終端上通過(guò)不同的賬號(hào)登錄兩個(gè)QQ應(yīng)用,讓這兩個(gè)QQ應(yīng)用并行運(yùn)行,用戶(hù)可以根據(jù)自己的需求分別使用不同的QQ應(yīng)用來(lái)與不同社交圈的好友進(jìn)行聊天會(huì)話,符合很多應(yīng)用場(chǎng)景。



      技術(shù)實(shí)現(xiàn)要素:

      鑒于上述問(wèn)題,提出了本發(fā)明以便提供一種克服上述問(wèn)題或者至少部分地解決上述問(wèn)題的安卓應(yīng)用的權(quán)限控制方法和裝置。

      依據(jù)本發(fā)明的一個(gè)方面,提供了一種安卓應(yīng)用的權(quán)限控制方法,其中,包括:

      構(gòu)造虛擬機(jī)環(huán)境,將安卓系統(tǒng)中的一個(gè)或多個(gè)指定安卓應(yīng)用的分身應(yīng)用放入虛擬機(jī)中運(yùn)行。

      監(jiān)聽(tīng)虛擬機(jī)中的指定安卓應(yīng)用的分身應(yīng)用調(diào)用指定系統(tǒng)設(shè)備的事件;當(dāng)監(jiān)聽(tīng)到所述事件時(shí)進(jìn)行攔截,驗(yàn)證該指定安卓應(yīng)用的分身應(yīng)用是否具有相應(yīng)權(quán)限;

      是則,放行所述事件;否則,結(jié)束所述事件。

      可選地,所述監(jiān)聽(tīng)虛擬機(jī)中的指定安卓應(yīng)用的分身應(yīng)用調(diào)用指定系統(tǒng)設(shè)備的事件包括:

      將鉤子函數(shù)掛載在指定系統(tǒng)設(shè)備的調(diào)用接口上,利用所述鉤子函數(shù)攔截發(fā)送至所述調(diào)用接口的調(diào)用請(qǐng)求;

      判斷所述調(diào)用請(qǐng)求的發(fā)送方是否為虛擬機(jī)中的指定安卓應(yīng)用的分身應(yīng)用;

      是則確定監(jiān)聽(tīng)到虛擬機(jī)中的指定安卓應(yīng)用的分身應(yīng)用調(diào)用指定系統(tǒng)設(shè)備的事件;否則放行所述調(diào)用請(qǐng)求。

      可選地,在所述監(jiān)聽(tīng)虛擬機(jī)中的指定安卓應(yīng)用的分身應(yīng)用調(diào)用指定系統(tǒng)設(shè)備的事件之前,該方法進(jìn)一步包括:獲取各指定安卓應(yīng)用的分身應(yīng)用所聲明的權(quán)限信息并保存至配置管理表中;

      所述驗(yàn)證該指定安卓應(yīng)用的分身應(yīng)用是否具有相應(yīng)權(quán)限包括:根據(jù)所述配置管理表中記錄的該指定安卓應(yīng)用的分身應(yīng)用所聲明的權(quán)限信息,判斷該指定安卓應(yīng)用的分身應(yīng)用是否聲明關(guān)于所要調(diào)用的指定系統(tǒng)設(shè)備的權(quán)限;是則,確定該指定安卓應(yīng)用的分身應(yīng)用具有相應(yīng)權(quán)限;否則,確定該指定安卓應(yīng)用的分身應(yīng)用不具有相應(yīng)權(quán)限。

      可選地,所述根據(jù)所述配置管理表中記錄的該指定安卓應(yīng)用的分身應(yīng)用所聲明的權(quán)限信息,判斷該指定安卓應(yīng)用的分身應(yīng)用是否聲明關(guān)于所要調(diào)用的指定系統(tǒng)設(shè)備的權(quán)限包括:

      對(duì)于所述鉤子函數(shù)攔截到的調(diào)用請(qǐng)求,從該調(diào)用請(qǐng)求中提取出:發(fā)送方的信息,調(diào)用的指定安卓設(shè)備的信息;

      根據(jù)所述發(fā)送方的信息確定相應(yīng)的指定安卓應(yīng)用的分身應(yīng)用,從配置管理表查找該指定安卓應(yīng)用的分身應(yīng)用所聲明的權(quán)限信息;

      根據(jù)所述調(diào)用的指定安卓設(shè)備的信息,判斷該指定安卓應(yīng)用的分身應(yīng)用所聲明的權(quán)限信息中是否包含關(guān)于所述調(diào)用的指定安卓設(shè)備的權(quán)限信息。

      可選地,該方法進(jìn)一步包括:從該調(diào)用請(qǐng)求中提取出發(fā)送方所在的進(jìn)程的信息;

      所述放行所述事件包括:將所述調(diào)用請(qǐng)求發(fā)送至指定系統(tǒng)設(shè)備的調(diào)用接口,接收安卓系統(tǒng)返回的執(zhí)行消息,根據(jù)所述發(fā)送方所在的進(jìn)程的信息,將指定系統(tǒng)設(shè)備分配至相應(yīng)的進(jìn)程中啟動(dòng)并運(yùn)行。

      可選地,所述獲取各指定安卓應(yīng)用的分身應(yīng)用所聲明的權(quán)限信息并保存至配置管理表中包括:

      獲取各指定安卓應(yīng)用的安裝包復(fù)件并保存至指定目錄,作為各指定安卓應(yīng)用的分身應(yīng)用的安裝包;

      解析各指定安卓應(yīng)用的分身應(yīng)用的安裝包中的配置文件,獲取各指定安卓應(yīng)用的分身應(yīng)用在相應(yīng)配置文件中所聲明的權(quán)限信息并保存至所述配置管理表中。

      可選地,當(dāng)結(jié)束所述事件時(shí),該方法進(jìn)一步包括:

      向所述指定安卓應(yīng)用的分身應(yīng)用拋出安全異常。

      可選地,所述指定系統(tǒng)設(shè)備包括如下一種或多種:系統(tǒng)傳感器,系統(tǒng)相機(jī)模塊,系統(tǒng)GPS模塊,系統(tǒng)WiFi模塊。

      可選地,所述系統(tǒng)傳感器包括如下一種或多種:

      加速度傳感器、磁力傳感器、方向傳感器、陀螺儀傳感器、光線感應(yīng)傳感器、壓力傳感器、溫度傳感器、接近傳感器、重力傳感器、線性加速度傳感器、旋轉(zhuǎn)矢量傳感器。

      可選地,所述監(jiān)聽(tīng)虛擬機(jī)中的指定安卓應(yīng)用的分身應(yīng)用調(diào)用指定系統(tǒng)設(shè)備的事件;當(dāng)監(jiān)聽(tīng)到所述事件時(shí)進(jìn)行攔截,驗(yàn)證該指定安卓應(yīng)用的分身應(yīng)用是否具有相應(yīng)權(quán)限的步驟是通過(guò)虛擬機(jī)中的常駐服務(wù)執(zhí)行的。

      依據(jù)本發(fā)明的另一個(gè)方面,提供了一種安卓應(yīng)用的權(quán)限控制裝置,其中,包括:

      環(huán)境構(gòu)造單元,適于構(gòu)造虛擬機(jī)環(huán)境,將安卓系統(tǒng)中的一個(gè)或多個(gè)指定安卓應(yīng)用的分身應(yīng)用放入虛擬機(jī)中運(yùn)行;

      常駐服務(wù)單元,適于監(jiān)聽(tīng)虛擬機(jī)中的指定安卓應(yīng)用的分身應(yīng)用調(diào)用指定系統(tǒng)設(shè)備的事件;當(dāng)監(jiān)聽(tīng)到所述事件時(shí)進(jìn)行攔截,驗(yàn)證該指定安卓應(yīng)用的分身應(yīng)用是否具有相應(yīng)權(quán)限;是則,放行所述事件;否則,結(jié)束所述事件。

      可選地,所述常駐服務(wù)單元,適于將鉤子函數(shù)掛載在指定系統(tǒng)設(shè)備的調(diào)用接口上,利用所述鉤子函數(shù)攔截發(fā)送至所述調(diào)用接口的調(diào)用請(qǐng)求;判斷所述調(diào)用請(qǐng)求的發(fā)送方是否為虛擬機(jī)中的指定安卓應(yīng)用的分身應(yīng)用;是則確定監(jiān)聽(tīng)到虛擬機(jī)中的指定安卓應(yīng)用的分身應(yīng)用調(diào)用指定系統(tǒng)設(shè)備的事件;否則放行所述調(diào)用請(qǐng)求。

      可選地,所述常駐服務(wù)單元,還適于在所述監(jiān)聽(tīng)虛擬機(jī)中的指定安卓應(yīng)用的分身應(yīng)用調(diào)用指定系統(tǒng)設(shè)備的事件之前,獲取各指定安卓應(yīng)用的分身應(yīng)用所聲明的權(quán)限信息并保存至配置管理表中;

      所述常駐服務(wù)單元,適于根據(jù)所述配置管理表中記錄的該指定安卓應(yīng)用的分身應(yīng)用所聲明的權(quán)限信息,判斷該指定安卓應(yīng)用的分身應(yīng)用是否聲明關(guān)于所要調(diào)用的指定系統(tǒng)設(shè)備的權(quán)限;是則,確定該指定安卓應(yīng)用的分身應(yīng)用具有相應(yīng)權(quán)限;否則,確定該指定安卓應(yīng)用的分身應(yīng)用不具有相應(yīng)權(quán)限。

      可選地,所述常駐服務(wù)單元,適于對(duì)于所述鉤子函數(shù)攔截到的調(diào)用請(qǐng)求,從該調(diào)用請(qǐng)求中提取出:發(fā)送方的信息,調(diào)用的指定安卓設(shè)備的信息;根據(jù)所述發(fā)送方的信息確定相應(yīng)的指定安卓應(yīng)用的分身應(yīng)用,從配置管理表查找該指定安卓應(yīng)用的分身應(yīng)用所聲明的權(quán)限信息;根據(jù)所述調(diào)用的指定安卓設(shè)備的信息,判斷該指定安卓應(yīng)用的分身應(yīng)用所聲明的權(quán)限信息中是否包含關(guān)于所述調(diào)用的指定安卓設(shè)備的權(quán)限信息。

      可選地,所述常駐服務(wù)單元,還適于從該調(diào)用請(qǐng)求中提取出發(fā)送方所在的進(jìn)程的信息;以及,適于將所述調(diào)用請(qǐng)求發(fā)送至指定系統(tǒng)設(shè)備的調(diào)用接口,接收安卓系統(tǒng)返回的執(zhí)行消息,根據(jù)所述發(fā)送方所在的進(jìn)程的信息,將指定系統(tǒng)設(shè)備分配至相應(yīng)的進(jìn)程中啟動(dòng)并運(yùn)行。

      可選地,所述常駐服務(wù)單元,適于獲取各指定安卓應(yīng)用的安裝包復(fù)件并保存至指定目錄,作為各指定安卓應(yīng)用的分身應(yīng)用的安裝包;解析各指定安卓應(yīng)用的分身應(yīng)用的安裝包中的配置文件,獲取各指定安卓應(yīng)用的分身應(yīng)用在相應(yīng)配置文件中所聲明的權(quán)限信息并保存至所述配置管理表中。

      可選地,所述常駐服務(wù)單元,還適于當(dāng)結(jié)束所述事件時(shí),向所述指定安卓應(yīng)用的分身應(yīng)用拋出安全異常。

      可選地,所述指定系統(tǒng)設(shè)備包括如下一種或多種:系統(tǒng)傳感器,系統(tǒng)相機(jī)模塊,系統(tǒng)GPS模塊,系統(tǒng)WiFi模塊。

      可選地,所述系統(tǒng)傳感器包括如下一種或多種:

      加速度傳感器、磁力傳感器、方向傳感器、陀螺儀傳感器、光線感應(yīng)傳感器、壓力傳感器、溫度傳感器、接近傳感器、重力傳感器、線性加速度傳感器、旋轉(zhuǎn)矢量傳感器。

      可選地,所述常駐服務(wù)單元,適于通過(guò)虛擬機(jī)中的常駐服務(wù)執(zhí)行所述監(jiān)聽(tīng)虛擬機(jī)中的指定安卓應(yīng)用的分身應(yīng)用調(diào)用指定系統(tǒng)設(shè)備的事件;當(dāng)監(jiān)聽(tīng)到所述事件時(shí)進(jìn)行攔截,驗(yàn)證該指定安卓應(yīng)用的分身應(yīng)用是否具有相應(yīng)權(quán)限的操作。

      有上述可知,根據(jù)本發(fā)明的技術(shù)方案,為了實(shí)現(xiàn)安卓系統(tǒng)中多個(gè)相同安卓應(yīng)用的并行運(yùn)行,在安卓系統(tǒng)中構(gòu)造了虛擬機(jī)環(huán)境,將指定安卓應(yīng)用的分身應(yīng)用放入到該虛擬機(jī)中運(yùn)行,且為了防止分身應(yīng)用利用本方案中的虛擬機(jī)對(duì)安卓系統(tǒng)進(jìn)行惡意攻擊,本方案在虛擬機(jī)中的指定安卓應(yīng)用的分身應(yīng)用在調(diào)用指定系統(tǒng)設(shè)備時(shí)對(duì)其進(jìn)行權(quán)限驗(yàn)證,讓權(quán)限沒(méi)有問(wèn)題的分身應(yīng)用可以成功地進(jìn)行調(diào)用,而權(quán)限有問(wèn)題的分身應(yīng)用不可以成功進(jìn)行調(diào)用,在保證安卓系統(tǒng)安全的基礎(chǔ)上可以完美地實(shí)現(xiàn)安卓系統(tǒng)中指定安卓應(yīng)用與其相應(yīng)的分身應(yīng)用的并行運(yùn)行。

      上述說(shuō)明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說(shuō)明書(shū)的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的具體實(shí)施方式。

      附圖說(shuō)明

      通過(guò)閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對(duì)于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對(duì)本發(fā)明的限制。而且在整個(gè)附圖中,用相同的參考符號(hào)表示相同的部件。在附圖中:

      圖1示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種安卓應(yīng)用的權(quán)限控制方法的流程圖;

      圖2示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種安卓應(yīng)用的權(quán)限控制裝置的示意圖。

      具體實(shí)施方式

      下面將參照附圖更詳細(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ù)人員。

      圖1示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種安卓應(yīng)用的權(quán)限控制方法的流程圖。如圖1所示,該方法包括:

      步驟S110,構(gòu)造虛擬機(jī)環(huán)境,將安卓系統(tǒng)中的一個(gè)或多個(gè)指定安卓應(yīng)用的分身應(yīng)用放入虛擬機(jī)中運(yùn)行。

      其中,指定安卓應(yīng)用指的是能夠在安卓系統(tǒng)中正常運(yùn)行的,類(lèi)似于QQ聊天、UC瀏覽器等的應(yīng)用軟件。而指定安卓應(yīng)用的分身應(yīng)用作為指定安卓應(yīng)用的復(fù)制體,可以看做是指定安卓應(yīng)用的分身?,F(xiàn)有技術(shù)中,每個(gè)指定安卓應(yīng)用的分身應(yīng)用可以與相應(yīng)的指定安卓應(yīng)用是不可以并行運(yùn)行的,其原因是安卓系統(tǒng)無(wú)法認(rèn)可兩個(gè)相同的應(yīng)用所聲明的相同的注冊(cè)信息,因此,在指定安卓應(yīng)用已安裝的情況下,指定安卓應(yīng)用的分身應(yīng)用是無(wú)法成功注冊(cè)到安卓系統(tǒng)中的,對(duì)于安卓系統(tǒng)來(lái)說(shuō),指定安卓應(yīng)用的分身應(yīng)用是未知的,安卓系統(tǒng)無(wú)法與其進(jìn)行正常交互。

      步驟S120,監(jiān)聽(tīng)虛擬機(jī)中的指定安卓應(yīng)用的分身應(yīng)用調(diào)用指定系統(tǒng)設(shè)備的事件;當(dāng)監(jiān)聽(tīng)到所述事件時(shí)進(jìn)行攔截,驗(yàn)證該指定安卓應(yīng)用的分身應(yīng)用是否具有相應(yīng)權(quán)限。

      對(duì)于一個(gè)分身應(yīng)用來(lái)說(shuō),當(dāng)該分身應(yīng)用要用到安卓系統(tǒng)中的指定系統(tǒng)設(shè)備時(shí),這個(gè)指定系統(tǒng)設(shè)備對(duì)應(yīng)于安卓系統(tǒng)中的多種權(quán)限,該分身應(yīng)用需要在Manifest文件中聲明要使用相應(yīng)的權(quán)限,如果一個(gè)分身應(yīng)用在其配置文件中做出過(guò)聲明,說(shuō)明該分身應(yīng)用確實(shí)需要使用這個(gè)指定系統(tǒng)設(shè)備,如果其配置文件中沒(méi)有做出聲明,說(shuō)明該分身應(yīng)用在運(yùn)行中不需要使用這個(gè)指定系統(tǒng)設(shè)備,則此時(shí)對(duì)于指定系統(tǒng)設(shè)備的調(diào)用可能是非法的。

      步驟S130,是則,放行所述事件;否則,結(jié)束所述事件。

      可見(jiàn),圖1所示的方法為了實(shí)現(xiàn)安卓系統(tǒng)中多個(gè)相同安卓應(yīng)用的并行運(yùn)行,在安卓系統(tǒng)中構(gòu)造了虛擬機(jī)環(huán)境,將指定安卓應(yīng)用的分身應(yīng)用放入到該虛擬機(jī)中運(yùn)行,且為了防止分身應(yīng)用利用本方案中的虛擬機(jī)對(duì)安卓系統(tǒng)進(jìn)行惡意攻擊,本方案在虛擬機(jī)中的指定安卓應(yīng)用的分身應(yīng)用在調(diào)用指定系統(tǒng)設(shè)備時(shí)對(duì)其進(jìn)行權(quán)限驗(yàn)證,讓權(quán)限沒(méi)有問(wèn)題的分身應(yīng)用可以成功地進(jìn)行調(diào)用,而權(quán)限有問(wèn)題的分身應(yīng)用不可以成功進(jìn)行調(diào)用,在保證安卓系統(tǒng)安全的基礎(chǔ)上可以完美地實(shí)現(xiàn)安卓系統(tǒng)中指定安卓應(yīng)用與其相應(yīng)的分身應(yīng)用的并行運(yùn)行。

      在本發(fā)明的一個(gè)實(shí)施例中,上述監(jiān)聽(tīng)虛擬機(jī)中的指定安卓應(yīng)用的分身應(yīng)用調(diào)用指定系統(tǒng)設(shè)備的事件包括:將鉤子函數(shù)掛載在指定系統(tǒng)設(shè)備的調(diào)用接口上,利用所述鉤子函數(shù)攔截發(fā)送至所述調(diào)用接口的調(diào)用請(qǐng)求;判斷所述調(diào)用請(qǐng)求的發(fā)送方是否為虛擬機(jī)中的指定安卓應(yīng)用的分身應(yīng)用;是則確定監(jiān)聽(tīng)到虛擬機(jī)中的指定安卓應(yīng)用的分身應(yīng)用調(diào)用指定系統(tǒng)設(shè)備的事件;否則放行所述調(diào)用請(qǐng)求。

      其中,在所述監(jiān)聽(tīng)虛擬機(jī)中的指定安卓應(yīng)用的分身應(yīng)用調(diào)用指定系統(tǒng)設(shè)備的事件之前,該方法進(jìn)一步包括:獲取各指定安卓應(yīng)用的分身應(yīng)用所聲明的權(quán)限信息并保存至配置管理表中;所述驗(yàn)證該指定安卓應(yīng)用的分身應(yīng)用是否具有相應(yīng)權(quán)限包括:根據(jù)所述配置管理表中記錄的該指定安卓應(yīng)用的分身應(yīng)用所聲明的權(quán)限信息,判斷該指定安卓應(yīng)用的分身應(yīng)用是否聲明關(guān)于所要調(diào)用的指定系統(tǒng)設(shè)備的權(quán)限;是則,確定該指定安卓應(yīng)用的分身應(yīng)用具有相應(yīng)權(quán)限;否則,確定該指定安卓應(yīng)用的分身應(yīng)用不具有相應(yīng)權(quán)限。

      具體地,所述根據(jù)所述配置管理表中記錄的該指定安卓應(yīng)用的分身應(yīng)用所聲明的權(quán)限信息,判斷該指定安卓應(yīng)用的分身應(yīng)用是否聲明關(guān)于所要調(diào)用的指定系統(tǒng)設(shè)備的權(quán)限包括:對(duì)于所述鉤子函數(shù)攔截到的調(diào)用請(qǐng)求,從該調(diào)用請(qǐng)求中提取出:發(fā)送方的信息,調(diào)用的指定安卓設(shè)備的信息;根據(jù)所述發(fā)送方的信息確定相應(yīng)的指定安卓應(yīng)用的分身應(yīng)用,從配置管理表查找該指定安卓應(yīng)用的分身應(yīng)用所聲明的權(quán)限信息;根據(jù)所述調(diào)用的指定安卓設(shè)備的信息,判斷該指定安卓應(yīng)用的分身應(yīng)用所聲明的權(quán)限信息中是否包含關(guān)于所述調(diào)用的指定安卓設(shè)備的權(quán)限信息。

      進(jìn)一步地,在本發(fā)明的一個(gè)實(shí)施例中,圖1所示的方法進(jìn)一步包括:從該調(diào)用請(qǐng)求中提取出發(fā)送方所在的進(jìn)程的信息;所述放行所述事件包括:將所述調(diào)用請(qǐng)求發(fā)送至指定系統(tǒng)設(shè)備的調(diào)用接口,接收安卓系統(tǒng)返回的執(zhí)行消息,根據(jù)所述發(fā)送方所在的進(jìn)程的信息,將指定系統(tǒng)設(shè)備分配至相應(yīng)的進(jìn)程中啟動(dòng)并運(yùn)行。

      其中,所述獲取各指定安卓應(yīng)用的分身應(yīng)用所聲明的權(quán)限信息并保存至配置管理表中包括:獲取各指定安卓應(yīng)用的安裝包復(fù)件并保存至指定目錄,作為各指定安卓應(yīng)用的分身應(yīng)用的安裝包;解析各指定安卓應(yīng)用的分身應(yīng)用的安裝包中的配置文件,獲取各指定安卓應(yīng)用的分身應(yīng)用在相應(yīng)配置文件中所聲明的權(quán)限信息并保存至所述配置管理表中。

      相應(yīng)地,當(dāng)結(jié)束所述事件時(shí),該方法進(jìn)一步包括:向所述指定安卓應(yīng)用的分身應(yīng)用拋出安全異常。

      在具體的例子中,所述指定系統(tǒng)設(shè)備包括如下一種或多種:系統(tǒng)傳感器,系統(tǒng)相機(jī)模塊,系統(tǒng)GPS模塊,系統(tǒng)WiFi模塊。所述系統(tǒng)傳感器包括如下一種或多種:加速度傳感器、磁力傳感器、方向傳感器、陀螺儀傳感器、光線感應(yīng)傳感器、壓力傳感器、溫度傳感器、接近傳感器、重力傳感器、線性加速度傳感器、旋轉(zhuǎn)矢量傳感器。

      在本發(fā)明的一個(gè)實(shí)施例中,所述監(jiān)聽(tīng)虛擬機(jī)中的指定安卓應(yīng)用的分身應(yīng)用調(diào)用指定系統(tǒng)設(shè)備的事件;當(dāng)監(jiān)聽(tīng)到所述事件時(shí)進(jìn)行攔截,驗(yàn)證該指定安卓應(yīng)用的分身應(yīng)用是否具有相應(yīng)權(quán)限的步驟是通過(guò)虛擬機(jī)中的常駐服務(wù)執(zhí)行的。

      例如,Android系統(tǒng)中聲明有好多權(quán)限,如傳感器、GPS、WiFi等各種類(lèi)型的系統(tǒng)設(shè)備對(duì)應(yīng)的權(quán)限,當(dāng)一個(gè)安卓應(yīng)用要用到每種系統(tǒng)設(shè)備時(shí),該安卓應(yīng)用需要在Manifest中聲明要使用這個(gè)相應(yīng)的權(quán)限,當(dāng)安卓應(yīng)用在代碼中去調(diào)一個(gè)系統(tǒng)設(shè)備的時(shí)候,Android系統(tǒng)中有個(gè)包管理服務(wù)PM來(lái)檢測(cè)安卓應(yīng)用中與偶沒(méi)有聲明相應(yīng)的權(quán)限,有的話系統(tǒng)放行運(yùn)行安卓應(yīng)用訪問(wèn)相應(yīng)系統(tǒng)設(shè)備,沒(méi)有的話直接拋出安全異常。但是對(duì)于分身應(yīng)用來(lái)說(shuō),由于Android系統(tǒng)不認(rèn)識(shí)這些分身應(yīng)用,Android系統(tǒng)中的PM就不會(huì)對(duì)分身應(yīng)用進(jìn)行驗(yàn)證,但為了保證Android系統(tǒng)的安全,不驗(yàn)證肯定是不行的,為此,本方案通過(guò)常駐服務(wù)模擬了Android系統(tǒng)中的PM服務(wù),當(dāng)一個(gè)分身應(yīng)用要調(diào)用系統(tǒng)設(shè)備時(shí),將這個(gè)分身應(yīng)用的訪問(wèn)對(duì)應(yīng)的該分身應(yīng)用的包名傳到常駐服務(wù)中,常駐服務(wù)會(huì)檢測(cè)這個(gè)包名對(duì)應(yīng)的Manifest中有沒(méi)有聲明這個(gè)相應(yīng)的權(quán)限,有的話就放行,沒(méi)有的話就拋出安全異常。對(duì)于常駐服務(wù)來(lái)說(shuō),這些權(quán)限是都具備的,我們?cè)诖_定分身應(yīng)用具有相應(yīng)權(quán)限之后,也可以代替分身應(yīng)用調(diào)用系統(tǒng)設(shè)備最終使得系統(tǒng)設(shè)備在分身應(yīng)用所希望的進(jìn)程中運(yùn)行,實(shí)現(xiàn)分省應(yīng)用對(duì)系統(tǒng)設(shè)備的調(diào)用。

      圖2示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種安卓應(yīng)用的權(quán)限控制裝置的示意圖。如圖2所示,該安卓應(yīng)用的權(quán)限控制裝置200包括:

      環(huán)境構(gòu)造單元210,適于構(gòu)造虛擬機(jī)環(huán)境,將安卓系統(tǒng)中的一個(gè)或多個(gè)指定安卓應(yīng)用的分身應(yīng)用放入虛擬機(jī)中運(yùn)行。

      常駐服務(wù)單元220,適于監(jiān)聽(tīng)虛擬機(jī)中的指定安卓應(yīng)用的分身應(yīng)用調(diào)用指定系統(tǒng)設(shè)備的事件;當(dāng)監(jiān)聽(tīng)到所述事件時(shí)進(jìn)行攔截,驗(yàn)證該指定安卓應(yīng)用的分身應(yīng)用是否具有相應(yīng)權(quán)限;是則,放行所述事件;否則,結(jié)束所述事件。

      可見(jiàn),圖2所示的裝置為了實(shí)現(xiàn)安卓系統(tǒng)中多個(gè)相同安卓應(yīng)用的并行運(yùn)行,在安卓系統(tǒng)中構(gòu)造了虛擬機(jī)環(huán)境,將指定安卓應(yīng)用的分身應(yīng)用放入到該虛擬機(jī)中運(yùn)行,且為了防止分身應(yīng)用利用本方案中的虛擬機(jī)對(duì)安卓系統(tǒng)進(jìn)行惡意攻擊,本方案在虛擬機(jī)中的指定安卓應(yīng)用的分身應(yīng)用在調(diào)用指定系統(tǒng)設(shè)備時(shí)對(duì)其進(jìn)行權(quán)限驗(yàn)證,讓權(quán)限沒(méi)有問(wèn)題的分身應(yīng)用可以成功地進(jìn)行調(diào)用,而權(quán)限有問(wèn)題的分身應(yīng)用不可以成功進(jìn)行調(diào)用,在保證安卓系統(tǒng)安全的基礎(chǔ)上可以完美地實(shí)現(xiàn)安卓系統(tǒng)中指定安卓應(yīng)用與其相應(yīng)的分身應(yīng)用的并行運(yùn)行。

      在本發(fā)明的一個(gè)實(shí)施例中,常駐服務(wù)單元220,適于將鉤子函數(shù)掛載在指定系統(tǒng)設(shè)備的調(diào)用接口上,利用所述鉤子函數(shù)攔截發(fā)送至所述調(diào)用接口的調(diào)用請(qǐng)求;判斷所述調(diào)用請(qǐng)求的發(fā)送方是否為虛擬機(jī)中的指定安卓應(yīng)用的分身應(yīng)用;是則確定監(jiān)聽(tīng)到虛擬機(jī)中的指定安卓應(yīng)用的分身應(yīng)用調(diào)用指定系統(tǒng)設(shè)備的事件;否則放行所述調(diào)用請(qǐng)求。

      其中,常駐服務(wù)單元220,還適于在所述監(jiān)聽(tīng)虛擬機(jī)中的指定安卓應(yīng)用的分身應(yīng)用調(diào)用指定系統(tǒng)設(shè)備的事件之前,獲取各指定安卓應(yīng)用的分身應(yīng)用所聲明的權(quán)限信息并保存至配置管理表中;常駐服務(wù)單元220,適于根據(jù)所述配置管理表中記錄的該指定安卓應(yīng)用的分身應(yīng)用所聲明的權(quán)限信息,判斷該指定安卓應(yīng)用的分身應(yīng)用是否聲明關(guān)于所要調(diào)用的指定系統(tǒng)設(shè)備的權(quán)限;是則,確定該指定安卓應(yīng)用的分身應(yīng)用具有相應(yīng)權(quán)限;否則,確定該指定安卓應(yīng)用的分身應(yīng)用不具有相應(yīng)權(quán)限。

      在本發(fā)明的一個(gè)實(shí)施例中,常駐服務(wù)單元220,適于對(duì)于所述鉤子函數(shù)攔截到的調(diào)用請(qǐng)求,從該調(diào)用請(qǐng)求中提取出:發(fā)送方的信息,調(diào)用的指定安卓設(shè)備的信息;根據(jù)所述發(fā)送方的信息確定相應(yīng)的指定安卓應(yīng)用的分身應(yīng)用,從配置管理表查找該指定安卓應(yīng)用的分身應(yīng)用所聲明的權(quán)限信息;根據(jù)所述調(diào)用的指定安卓設(shè)備的信息,判斷該指定安卓應(yīng)用的分身應(yīng)用所聲明的權(quán)限信息中是否包含關(guān)于所述調(diào)用的指定安卓設(shè)備的權(quán)限信息。

      進(jìn)一步地,所述常駐服務(wù)單元220,還適于從該調(diào)用請(qǐng)求中提取出發(fā)送方所在的進(jìn)程的信息;以及,適于將所述調(diào)用請(qǐng)求發(fā)送至指定系統(tǒng)設(shè)備的調(diào)用接口,接收安卓系統(tǒng)返回的執(zhí)行消息,根據(jù)所述發(fā)送方所在的進(jìn)程的信息,將指定系統(tǒng)設(shè)備分配至相應(yīng)的進(jìn)程中啟動(dòng)并運(yùn)行。

      在本發(fā)明的一個(gè)實(shí)施例中,常駐服務(wù)單元220,適于獲取各指定安卓應(yīng)用的安裝包復(fù)件并保存至指定目錄,作為各指定安卓應(yīng)用的分身應(yīng)用的安裝包;解析各指定安卓應(yīng)用的分身應(yīng)用的安裝包中的配置文件,獲取各指定安卓應(yīng)用的分身應(yīng)用在相應(yīng)配置文件中所聲明的權(quán)限信息并保存至所述配置管理表中。

      進(jìn)一步地,在本發(fā)明的一個(gè)實(shí)施例中,所述常駐服務(wù)單元220,還適于當(dāng)結(jié)束所述事件時(shí),向所述指定安卓應(yīng)用的分身應(yīng)用拋出安全異常。

      在具體的例子中,所述指定系統(tǒng)設(shè)備包括如下一種或多種:系統(tǒng)傳感器,系統(tǒng)相機(jī)模塊,系統(tǒng)GPS模塊,系統(tǒng)WiFi模塊。其中,所述系統(tǒng)傳感器包括如下一種或多種:加速度傳感器、磁力傳感器、方向傳感器、陀螺儀傳感器、光線感應(yīng)傳感器、壓力傳感器、溫度傳感器、接近傳感器、重力傳感器、線性加速度傳感器、旋轉(zhuǎn)矢量傳感器。

      在本發(fā)明的一個(gè)實(shí)施例中,所述常駐服務(wù)單元220,適于通過(guò)虛擬機(jī)中的常駐服務(wù)執(zhí)行所述監(jiān)聽(tīng)虛擬機(jī)中的指定安卓應(yīng)用的分身應(yīng)用調(diào)用指定系統(tǒng)設(shè)備的事件;當(dāng)監(jiān)聽(tīng)到所述事件時(shí)進(jìn)行攔截,驗(yàn)證該指定安卓應(yīng)用的分身應(yīng)用是否具有相應(yīng)權(quán)限的操作。

      需要說(shuō)明的是,圖2所示裝置的各實(shí)施例與圖1所示方法的各實(shí)施例對(duì)應(yīng)相同,上文已有詳細(xì)說(shuō)明,在此不再贅述。

      綜上所述,在本發(fā)明的技術(shù)方案中,為了實(shí)現(xiàn)安卓系統(tǒng)中多個(gè)相同安卓應(yīng)用的并行運(yùn)行,在安卓系統(tǒng)中構(gòu)造了虛擬機(jī)環(huán)境,將指定安卓應(yīng)用的分身應(yīng)用放入到該虛擬機(jī)中運(yùn)行,且為了防止分身應(yīng)用利用本方案中的虛擬機(jī)對(duì)安卓系統(tǒng)進(jìn)行惡意攻擊,本方案在虛擬機(jī)中的指定安卓應(yīng)用的分身應(yīng)用在調(diào)用指定系統(tǒng)設(shè)備時(shí)對(duì)其進(jìn)行權(quán)限驗(yàn)證,讓權(quán)限沒(méi)有問(wèn)題的分身應(yīng)用可以成功地進(jìn)行調(diào)用,而權(quán)限有問(wèn)題的分身應(yīng)用不可以成功進(jìn)行調(diào)用,在保證安卓系統(tǒng)安全的基礎(chǔ)上可以完美地實(shí)現(xiàn)安卓系統(tǒng)中指定安卓應(yīng)用與其相應(yīng)的分身應(yīng)用的并行運(yùn)行。

      需要說(shuō)明的是:

      在此提供的算法和顯示不與任何特定計(jì)算機(jī)、虛擬裝置或者其它設(shè)備固有相關(guān)。各種通用裝置也可以與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造這類(lèi)裝置所要求的結(jié)構(gòu)是顯而易見(jiàn)的。此外,本發(fā)明也不針對(duì)任何特定編程語(yǔ)言。應(yīng)當(dāng)明白,可以利用各種編程語(yǔ)言實(shí)現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對(duì)特定語(yǔ)言所做的描述是為了披露本發(fā)明的最佳實(shí)施方式。

      在此處所提供的說(shuō)明書(shū)中,說(shuō)明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實(shí)施例可以在沒(méi)有這些具體細(xì)節(jié)的情況下實(shí)踐。在一些實(shí)例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對(duì)本說(shuō)明書(shū)的理解。

      類(lèi)似地,應(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í)施例。

      本領(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)代替。

      此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實(shí)施例包括其它實(shí)施例中所包括的某些特征而不是其它特征,但是不同實(shí)施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實(shí)施例。例如,在下面的權(quán)利要求書(shū)中,所要求保護(hù)的實(shí)施例的任意之一都可以以任意的組合方式來(lái)使用。

      本發(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í)施例的安卓應(yīng)用的權(quán)限控制裝置中的一些或者全部部件的一些或者全部功能。本發(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)站上下載得到,或者在載體信號(hào)上提供,或者以任何其他形式提供。

      應(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)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱(chēng)。

      本發(fā)明公開(kāi)了A1、一種安卓應(yīng)用的權(quán)限控制方法,其中,包括:

      構(gòu)造虛擬機(jī)環(huán)境,將安卓系統(tǒng)中的一個(gè)或多個(gè)指定安卓應(yīng)用的分身應(yīng)用放入虛擬機(jī)中運(yùn)行;

      監(jiān)聽(tīng)虛擬機(jī)中的指定安卓應(yīng)用的分身應(yīng)用調(diào)用指定系統(tǒng)設(shè)備的事件;當(dāng)監(jiān)聽(tīng)到所述事件時(shí)進(jìn)行攔截,驗(yàn)證該指定安卓應(yīng)用的分身應(yīng)用是否具有相應(yīng)權(quán)限;

      是則,放行所述事件;否則,結(jié)束所述事件。

      A2、如A1所述的方法,其中,所述監(jiān)聽(tīng)虛擬機(jī)中的指定安卓應(yīng)用的分身應(yīng)用調(diào)用指定系統(tǒng)設(shè)備的事件包括:

      將鉤子函數(shù)掛載在指定系統(tǒng)設(shè)備的調(diào)用接口上,利用所述鉤子函數(shù)攔截發(fā)送至所述調(diào)用接口的調(diào)用請(qǐng)求;

      判斷所述調(diào)用請(qǐng)求的發(fā)送方是否為虛擬機(jī)中的指定安卓應(yīng)用的分身應(yīng)用;

      是則確定監(jiān)聽(tīng)到虛擬機(jī)中的指定安卓應(yīng)用的分身應(yīng)用調(diào)用指定系統(tǒng)設(shè)備的事件;否則放行所述調(diào)用請(qǐng)求。

      A3、如A1或A2所述的方法,其中,在所述監(jiān)聽(tīng)虛擬機(jī)中的指定安卓應(yīng)用的分身應(yīng)用調(diào)用指定系統(tǒng)設(shè)備的事件之前,該方法進(jìn)一步包括:獲取各指定安卓應(yīng)用的分身應(yīng)用所聲明的權(quán)限信息并保存至配置管理表中;

      所述驗(yàn)證該指定安卓應(yīng)用的分身應(yīng)用是否具有相應(yīng)權(quán)限包括:根據(jù)所述配置管理表中記錄的該指定安卓應(yīng)用的分身應(yīng)用所聲明的權(quán)限信息,判斷該指定安卓應(yīng)用的分身應(yīng)用是否聲明關(guān)于所要調(diào)用的指定系統(tǒng)設(shè)備的權(quán)限;是則,確定該指定安卓應(yīng)用的分身應(yīng)用具有相應(yīng)權(quán)限;否則,確定該指定安卓應(yīng)用的分身應(yīng)用不具有相應(yīng)權(quán)限。

      A4、如A3所述的方法,其中,所述根據(jù)所述配置管理表中記錄的該指定安卓應(yīng)用的分身應(yīng)用所聲明的權(quán)限信息,判斷該指定安卓應(yīng)用的分身應(yīng)用是否聲明關(guān)于所要調(diào)用的指定系統(tǒng)設(shè)備的權(quán)限包括:

      對(duì)于所述鉤子函數(shù)攔截到的調(diào)用請(qǐng)求,從該調(diào)用請(qǐng)求中提取出:發(fā)送方的信息,調(diào)用的指定安卓設(shè)備的信息;

      根據(jù)所述發(fā)送方的信息確定相應(yīng)的指定安卓應(yīng)用的分身應(yīng)用,從配置管理表查找該指定安卓應(yīng)用的分身應(yīng)用所聲明的權(quán)限信息;

      根據(jù)所述調(diào)用的指定安卓設(shè)備的信息,判斷該指定安卓應(yīng)用的分身應(yīng)用所聲明的權(quán)限信息中是否包含關(guān)于所述調(diào)用的指定安卓設(shè)備的權(quán)限信息。

      A5、如A4所述的方法,其中,該方法進(jìn)一步包括:從該調(diào)用請(qǐng)求中提取出發(fā)送方所在的進(jìn)程的信息;

      所述放行所述事件包括:將所述調(diào)用請(qǐng)求發(fā)送至指定系統(tǒng)設(shè)備的調(diào)用接口,接收安卓系統(tǒng)返回的執(zhí)行消息,根據(jù)所述發(fā)送方所在的進(jìn)程的信息,將指定系統(tǒng)設(shè)備分配至相應(yīng)的進(jìn)程中啟動(dòng)并運(yùn)行。

      A6、如A3所述的方法,其中,所述獲取各指定安卓應(yīng)用的分身應(yīng)用所聲明的權(quán)限信息并保存至配置管理表中包括:

      獲取各指定安卓應(yīng)用的安裝包復(fù)件并保存至指定目錄,作為各指定安卓應(yīng)用的分身應(yīng)用的安裝包;

      解析各指定安卓應(yīng)用的分身應(yīng)用的安裝包中的配置文件,獲取各指定安卓應(yīng)用的分身應(yīng)用在相應(yīng)配置文件中所聲明的權(quán)限信息并保存至所述配置管理表中。

      A7、如A1所述的方法,其中,當(dāng)結(jié)束所述事件時(shí),該方法進(jìn)一步包括:

      向所述指定安卓應(yīng)用的分身應(yīng)用拋出安全異常。

      A8、如A1所述的方法,其中,所述指定系統(tǒng)設(shè)備包括如下一種或多種:系統(tǒng)傳感器,系統(tǒng)相機(jī)模塊,系統(tǒng)GPS模塊,系統(tǒng)WiFi模塊。

      A9、如A8所述的方法,其中,所述系統(tǒng)傳感器包括如下一種或多種:

      加速度傳感器、磁力傳感器、方向傳感器、陀螺儀傳感器、光線感應(yīng)傳感器、壓力傳感器、溫度傳感器、接近傳感器、重力傳感器、線性加速度傳感器、旋轉(zhuǎn)矢量傳感器。

      A10、如A1-A9中任一項(xiàng)所述的方法,其中,

      所述監(jiān)聽(tīng)虛擬機(jī)中的指定安卓應(yīng)用的分身應(yīng)用調(diào)用指定系統(tǒng)設(shè)備的事件;當(dāng)監(jiān)聽(tīng)到所述事件時(shí)進(jìn)行攔截,驗(yàn)證該指定安卓應(yīng)用的分身應(yīng)用是否具有相應(yīng)權(quán)限的步驟是通過(guò)虛擬機(jī)中的常駐服務(wù)執(zhí)行的。

      本發(fā)明還公開(kāi)了B11、一種安卓應(yīng)用的權(quán)限控制裝置,其中,包括:

      環(huán)境構(gòu)造單元,適于構(gòu)造虛擬機(jī)環(huán)境,將安卓系統(tǒng)中的一個(gè)或多個(gè)指定安卓應(yīng)用的分身應(yīng)用放入虛擬機(jī)中運(yùn)行;

      常駐服務(wù)單元,適于監(jiān)聽(tīng)虛擬機(jī)中的指定安卓應(yīng)用的分身應(yīng)用調(diào)用指定系統(tǒng)設(shè)備的事件;當(dāng)監(jiān)聽(tīng)到所述事件時(shí)進(jìn)行攔截,驗(yàn)證該指定安卓應(yīng)用的分身應(yīng)用是否具有相應(yīng)權(quán)限;是則,放行所述事件;否則,結(jié)束所述事件。

      B12、如B11所述的裝置,其中,

      所述常駐服務(wù)單元,適于將鉤子函數(shù)掛載在指定系統(tǒng)設(shè)備的調(diào)用接口上,利用所述鉤子函數(shù)攔截發(fā)送至所述調(diào)用接口的調(diào)用請(qǐng)求;判斷所述調(diào)用請(qǐng)求的發(fā)送方是否為虛擬機(jī)中的指定安卓應(yīng)用的分身應(yīng)用;是則確定監(jiān)聽(tīng)到虛擬機(jī)中的指定安卓應(yīng)用的分身應(yīng)用調(diào)用指定系統(tǒng)設(shè)備的事件;否則放行所述調(diào)用請(qǐng)求。

      B13、如B11或B12所述的裝置,其中,

      所述常駐服務(wù)單元,還適于在所述監(jiān)聽(tīng)虛擬機(jī)中的指定安卓應(yīng)用的分身應(yīng)用調(diào)用指定系統(tǒng)設(shè)備的事件之前,獲取各指定安卓應(yīng)用的分身應(yīng)用所聲明的權(quán)限信息并保存至配置管理表中;

      所述常駐服務(wù)單元,適于根據(jù)所述配置管理表中記錄的該指定安卓應(yīng)用的分身應(yīng)用所聲明的權(quán)限信息,判斷該指定安卓應(yīng)用的分身應(yīng)用是否聲明關(guān)于所要調(diào)用的指定系統(tǒng)設(shè)備的權(quán)限;是則,確定該指定安卓應(yīng)用的分身應(yīng)用具有相應(yīng)權(quán)限;否則,確定該指定安卓應(yīng)用的分身應(yīng)用不具有相應(yīng)權(quán)限。

      B14、如B13所述的裝置,其中,

      所述常駐服務(wù)單元,適于對(duì)于所述鉤子函數(shù)攔截到的調(diào)用請(qǐng)求,從該調(diào)用請(qǐng)求中提取出:發(fā)送方的信息,調(diào)用的指定安卓設(shè)備的信息;根據(jù)所述發(fā)送方的信息確定相應(yīng)的指定安卓應(yīng)用的分身應(yīng)用,從配置管理表查找該指定安卓應(yīng)用的分身應(yīng)用所聲明的權(quán)限信息;根據(jù)所述調(diào)用的指定安卓設(shè)備的信息,判斷該指定安卓應(yīng)用的分身應(yīng)用所聲明的權(quán)限信息中是否包含關(guān)于所述調(diào)用的指定安卓設(shè)備的權(quán)限信息。

      B15、如B14所述的裝置,其中,所述常駐服務(wù)單元,還適于從該調(diào)用請(qǐng)求中提取出發(fā)送方所在的進(jìn)程的信息;以及,適于將所述調(diào)用請(qǐng)求發(fā)送至指定系統(tǒng)設(shè)備的調(diào)用接口,接收安卓系統(tǒng)返回的執(zhí)行消息,根據(jù)所述發(fā)送方所在的進(jìn)程的信息,將指定系統(tǒng)設(shè)備分配至相應(yīng)的進(jìn)程中啟動(dòng)并運(yùn)行。

      B16、如B13所述的裝置,其中,

      所述常駐服務(wù)單元,適于獲取各指定安卓應(yīng)用的安裝包復(fù)件并保存至指定目錄,作為各指定安卓應(yīng)用的分身應(yīng)用的安裝包;解析各指定安卓應(yīng)用的分身應(yīng)用的安裝包中的配置文件,獲取各指定安卓應(yīng)用的分身應(yīng)用在相應(yīng)配置文件中所聲明的權(quán)限信息并保存至所述配置管理表中。

      B17、如B11所述的裝置,其中,

      所述常駐服務(wù)單元,還適于當(dāng)結(jié)束所述事件時(shí),向所述指定安卓應(yīng)用的分身應(yīng)用拋出安全異常。

      B18、如B11所述的裝置,其中,所述指定系統(tǒng)設(shè)備包括如下一種或多種:系統(tǒng)傳感器,系統(tǒng)相機(jī)模塊,系統(tǒng)GPS模塊,系統(tǒng)WiFi模塊。

      B19、如B18所述的裝置,其中,所述系統(tǒng)傳感器包括如下一種或多種:

      加速度傳感器、磁力傳感器、方向傳感器、陀螺儀傳感器、光線感應(yīng)傳感器、壓力傳感器、溫度傳感器、接近傳感器、重力傳感器、線性加速度傳感器、旋轉(zhuǎn)矢量傳感器。

      B20、如B11-B19中任一項(xiàng)所述的裝置,其中,

      所述常駐服務(wù)單元,適于通過(guò)虛擬機(jī)中的常駐服務(wù)執(zhí)行所述監(jiān)聽(tīng)虛擬機(jī)中的指定安卓應(yīng)用的分身應(yīng)用調(diào)用指定系統(tǒng)設(shè)備的事件;當(dāng)監(jiān)聽(tīng)到所述事件時(shí)進(jìn)行攔截,驗(yàn)證該指定安卓應(yīng)用的分身應(yīng)用是否具有相應(yīng)權(quán)限的操作。

      當(dāng)前第1頁(yè)1 2 3 
      網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1