工作區的訪問控制的方法和裝置制造方法
【專利摘要】本發明實施例提供了一種工作區的訪問控制的方法和裝置,其中,方法包括:檢測到Home鍵的點擊事件后,獲取root權限或system權限;在root權限或system權限下,將用戶的使用權限與預先設置的工作區的操作權限進行比較;若兩者匹配,則反射調用相應函數,啟動默認工作區;否則,拒絕用戶訪問默認工作區;其裝置包括:權限獲取模塊、權限比較模塊和執行模塊。本發明所提供的方法及裝置,使得只有擁有進入權限的用戶才能執行操作,避免了沒有使用權限的用戶進入軟件運行界面的發生,使得擁有進入權限的用戶執行操作的準確性得到提高,提高了用戶的體驗。
【專利說明】工作區的訪問控制的方法和裝置
【技術領域】
[0001]本發明涉及終端設備的【技術領域】,具體而言,本發明涉及工作區的訪問控制的方法和裝置。
【背景技術】
[0002]近年來,隨著電子產業和通信技術的飛速發展,以數據、話音、視頻為基礎的新業務發展迅猛。微電子技術、計算機軟硬件技術的快速發展,為終端設備處理越來越復雜的工作打下了基礎,為終端設備個性化提供了實現可能,使得終端從某種程度上擺脫了網絡的制約,可以具備越來越強大的功能。此外,用戶本身也對終端有迫切的需求,希望終端功能更強大、更靈活、更簡捷。信息技術的發展,使終端技術走向智能化、移動化、多功能化。
[0003]例如,手機是最為人們所熟悉的一種移動終端,現在手機已經成為了人們日常生活不可缺少的物品。為了使人們更方便地訂餐,手機上可以安裝方便用戶訂餐的訂餐軟件,但是現有技術沒有對進入訂餐軟件的工作區(即用戶點餐下單的工作界面)的使用權限進行設置,這樣可能使得沒有使用權限的用戶,也可以進入訂餐軟件的工作區,隨意訂餐,給用戶本人帶來經濟損失。
[0004]此外,為了使醫生更方便地為患者服務,手機上可以安裝方便醫生查看病人病歷的特定醫療服務軟件,但是,現有技術沒有對進入特定醫療服務軟件的工作區(即特定醫療服務軟件的工作界面)的使用權限進行設置,這樣可能使得沒有使用權限的用戶,也可以進入特定醫療服務軟件的工作區,隨意操作,帶來病人數據的丟失。
[0005]因此,有必要提供一種工作區的訪問控制的方法及裝置,以便于在類似訂餐軟件或特定醫療服務軟件的應用場景下,只有擁有進入權限的用戶才能執行操作,避免了沒有進入權限的用戶進入軟件運行界面的發生。
【發明內容】
[0006]本發明的目的旨在至少解決上述技術缺陷之一,特別是在類似訂餐軟件或特定醫療服務軟件的應用場景下,只有擁有進入權限的用戶才能執行操作,提高了用戶的體驗。
[0007]本發明提供了一種工作區的訪問控制的方法,包括:
[0008]檢測到Home鍵的點擊事件后,獲取root權限或system權限;
[0009]在所述root權限或system權限下,將用戶的使用權限與預先設置的工作區的操作權限進行比較;
[0010]若兩者匹配,則反射調用相應函數,啟動默認工作區;否則,拒絕所述用戶訪問所述默認工作區。
[0011]本發明還提供了一種工作區的訪問控制的裝置,包括:
[0012]權限獲取模塊,用于檢測到Home鍵的點擊事件后,獲取root權限或system權限;
[0013]權限比較模塊,用于在所述root權限或system權限下,將用戶的使用權限與預先設置的工作區的操作權限進行比較,并輸出比較結果;
[0014]執行模塊,用于根據權限比較模塊輸出的比較結果,在所述比較結果為匹配時,反射調用相應函數,啟動默認工作區;在所述比較結果為不匹配時,拒絕所述用戶訪問所述默認工作區。
[0015]本發明的技術方案中,特別是在類似訂餐軟件或特定醫療服務軟件的應用場景下,只有擁有進入權限的用戶才能執行操作,避免了沒有進入權限的用戶進入軟件運行界面的發生,使得擁有進入權限的用戶執行操作的準確性得到提高,提高了用戶的體驗。
[0016]本發明附加的方面和優點將在下面的描述中部分給出,這些將從下面的描述中變得明顯,或通過本發明的實踐了解到。
【專利附圖】
【附圖說明】
[0017]本發明上述的和/或附加的方面和優點從下面結合附圖對實施例的描述中將變得明顯和容易理解,其中:
[0018]圖la、lb為本發明實施例提供的工作區的訪問控制的方法流程圖;
[0019]圖2為本發明實施例提供的工作區的訪問控制的裝置結構框圖。
【具體實施方式】
[0020]下面詳細描述本發明的實施例,所述實施例的示例在附圖中示出,其中自始至終相同或類似的標號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實施例是示例性的,僅用于解釋本發明,而不能解釋為對本發明的限制。
[0021]本【技術領域】技術人員可以理解,除非特意聲明,這里使用的單數形式“一”、“一個”、“所述”和“該”也可包括復數形式。應該進一步理解的是,本發明的說明書中使用的措辭“包括”是指存在所述特征、整數、步驟、操作、元件和/或組件,但是并不排除存在或添加一個或多個其他特征、整數、步驟、操作、元件、組件和/或它們的組。應該理解,當我們稱元件被“連接”或“耦接”到另一元件時,它可以直接連接或耦接到其他元件,或者也可以存在中間元件。此外,這里使用的“連接”或“耦接”可以包括無線連接或無線耦接。這里使用的措辭“和/或”包括一個或更多個相關聯的列出項的全部或任一單元和全部組合。
[0022]本【技術領域】技術人員可以理解,除非另外定義,這里使用的所有術語(包括技術術語和科學術語),具有與本發明所屬領域中的普通技術人員的一般理解相同的意義。還應該理解的是,諸如通用字典中定義的那些術語,應該被理解為具有與現有技術的上下文中的意義一致的意義,并且除非像這里一樣被特定定義,否則不會用理想化或過于正式的含義來解釋。
[0023]本【技術領域】技術人員可以理解,這里所使用的“終端”、“終端設備”既包括無線信號接收器的設備,其僅具備無發射能力的無線信號接收器的設備,又包括接收和發射硬件的設備,其具有能夠在雙向通信鏈路上,進行雙向通信的接收和發射硬件的設備。這種設備可以包括:蜂窩或其他通信設備,其具有單線路顯示器或多線路顯示器或沒有多線路顯示器的蜂窩或其他通信設備;PCS (Personal Communicat1ns Service,個人通信系統),其可以組合語音、數據處理、傳真和/或數據通信能力;PDA (Personal Digital Assistant,個人數字助理),其可以包括射頻接收器、尋呼機、互聯網/內聯網訪問、網絡瀏覽器、記事本、日歷和/或GPS (Global Posit1ning System,全球定位系統)接收器;常規膝上型和/或掌上型計算機或其他設備,其具有和/或包括射頻接收器的常規膝上型和/或掌上型計算機或其他設備。這里所使用的“終端”、“終端設備”可以是便攜式、可運輸、安裝在交通工具(航空、海運和/或陸地)中的,或者適合于和/或配置為在本地運行,和/或以分布形式,運行在地球和/或空間的任何其他位置運行。這里所使用的“終端”、“終端設備”還可以是通信終端、上網終端、音樂/視頻播放終端,例如可以是PDA、MID(MobiIe Internet Device,移動互聯網設備)和/或具有音樂/視頻播放功能的移動電話,也可以是智能電視、機頂盒等設備。
[0024]本發明的發明人考慮到,特別是在類似訂餐或特定醫療服務軟件的應用環境下,只有擁有進入權限的用戶才能執行操作,避免了沒有進入權限的用戶進入軟件運行界面的發生,提聞了用戶的體驗。
[0025]下面結合附圖詳細說明本發明的技術方案。
[0026]圖1a為本發明實施例提供的工作區的訪問控制的方法流程圖。需要說明的是,本發明中的工作區是指進入訂餐軟件或特定醫療服務軟件之后的工作界面,但并不僅僅局限于上述兩類軟件。本發明所提供的工作區的訪問控制的方法不僅可以集成在工作區所在的軟件,還可以獨立于工作區所在的軟件。如圖1a所示,本實施例中工作區的訪問控制的方法流程具體包括如下步驟:
[0027]SllO:檢測到Home鍵的點擊事件后,獲取root權限或system權限。
[0028]具體地,Home鍵的點擊事件是指,當用戶按下Home鍵之后,管理員通過外部端下發指令,判斷安裝有訂餐軟件或特定醫療服務軟件的客戶端是否能夠進入工作區。具體的操作如下:當用戶按下Home鍵之后,擁有root權限或者system權限的用戶,不彈出對系統桌面(包括復選框)進行選擇的選擇框,直接進入默認的系統桌面(包括之前選定的復選框)。
[0029]在本步驟中,檢測到Home鍵的點擊事件后,可以通過獲取root權限或者獲取system權限來進行權限提升。
[0030]具體地,獲取root權限的方法為:接收指定程序發出的獲取root權限的請求;獲取并運行至少一個破解方案中的代碼;其中,破解方案用于通過操作系統的漏洞獲取操作系統的root權限;當通過運行破解方案的代碼成功獲取root權限時,為指定程序建立具有root權限的后臺服務進程;其中,后臺服務進程用于完成指定程序欲執行的root權限下的操作。
[0031]在獲取root權限時,不修改操作系統中的文件,而且僅在當不具有root權限的指定程序欲執行root權限下的操作時才會觸發,因此,可以在保證操作系統不被破壞的情況下,對操作系統進行臨時提升權限,既保證了操作系統的穩定性,又能完成最高權限下的操作。
[0032]臨時提升權限的操作至少包括以下任意一種:備份系統、修改系統的內部程序、將應用程序安裝到SD (Secure Digital Memory Card,安全數據卡)上、獲取文件目錄、靜默安裝應用程序、卸載應用程序、以及卸載系統預裝應用程序等。
[0033]上述獲取root提升權限的方法可以應用于各種需要授予提升權限的軟件或產品中,如卸載系統預裝的軟件、安裝或卸載應用程序、備份或還原應用數據、啟用或禁用應用程序。或者是清理自啟動的軟件等,或者是應用在公私隔離的設備中的各種需要調用提升權限的場景,以及可用于清理系統文件,或者是用于檢測不安全的手機端的釣魚網站等。
[0034]S120:在root權限或system權限下,將用戶的使用權限與預先設置的工作區的操作權限進行比較。
[0035]在本步驟中,預先設置的工作區的操作權限具體包括:管理員級別權限,高級用戶級別權限和普通用戶級別權限。
[0036]S130:若用戶的使用權限與預先設置的工作區的操作權限匹配,則反射調用相應函數,啟動默認工作區;否則,拒絕用戶訪問默認工作區。
[0037]在本步驟中,若用戶的使用權限與預先設置的工作區的操作權限匹配,利用反射機制調用add Preferred Activate函數后,利用Hook技術監控system Server進程,將監控到的函數的調用者的UID修改為系統WD后,system Server進程根據系統UID啟動默認工作區。
[0038]具體地,利用反射機制調用的函數為add Perferred Activate,系統會檢查用戶的權限以及客戶端的進程,遠端是System Server進程,調用函數會傳到遠端,由遠端來執行,執行時,會檢查權限,如果是普通權限,攔截下來,由遠端判定是否進行放行,注入代碼,然后Hook,攔截調用,如果檢測結果是擁有root權限或者system權限的用戶在調用函數,則把數據中調用者的UID修改為1000,認為是系統WD,進行放行,就完成調用函數的過程。
[0039]需要說明的是,在本步驟中,利用反射機制調用的函數add perferred Activate用于PM (PackageManager,包管理器)中。
[0040]此外,在本步驟中,除了可以利用反射機制調用add Perferred Activate函數外,還可以利用反射機制調用清除最近任務欄的函數,利用發射機制調用清除最近任務欄的函數用于AM (ActivityManager,活動管理器)中。
[0041]另外,在本步驟中,還可以利用反射機制調用清理通知欄的函數,利用發射機制調用清理通知欄的函數用于匪(Notificat1nManager,通知管理器)中。
[0042]需要說明的是,當安裝有訂餐軟件或特定醫療服務軟件的客戶端有多個任務欄時,不僅要對系統桌面進行清理,還要對用戶之前進入過的任務欄進行清理,清理通知欄,這樣才能保證只有擁有root權限或者system權限的用戶才能利用反射機制,調用相應函數,啟動默認工作區。
[0043]上述清理的過程,根據獲取的反射點調用相應接口函數,并進行放行,如果要進一步完善上述過程,需要把所有的點堵住,數據的點不同,進行放行操作,Hook的點也是不同的。
[0044]具體地,在利用反射機制調用add Perferred Activate函數的方法中,使用的Hook 技術為 Elf Hook, Hook 點均為 system_server 進程,libbinder.so 的 1ctl 方法;在1ctl內,對原本需要分發給各系統服務特定方法的數據進行解析,需要解析并放行的點為:包管理器中add Preferred Activity函數的調用點。
[0045]此外,在利用反射機制調用清除最近任務欄的函數的方法中,使用的Hook技術為Elf Hook, Hook 點均為 system_server 進程,libbinder.so 的 1ctl 方法;在 1ctl 內,對原本需要分發給各系統服務特定方法的數據進行解析,需要解析并放行的點為:活動管理器中清除最近任務欄的函數的調用點。
[0046]另外,在利用反射機制調用清理通知欄的函數的方法中,使用的Hook技術為ElfHook, Hook 點均為 system_server 進程,libbinder.so 的 1ctl 方法;在 1ctl 內,對原本需要分發給各系統服務特定方法的數據進行解析,需要解析并放行的點為:通知管理器中清理通知欄的函數的調用點。
[0047]在本應用場景中,通過檢測到Home鍵的點擊事件后,獲取root權限或system權限;在1'0於權限或system權限下,將用戶的使用權限與預先設置的工作區的操作權限進行比較;若兩者匹配,則反射調用相應函數,啟動默認工作區;否則,拒絕用戶訪問默認工作區;這樣使得只有擁有進入權限的用戶才能執行操作,避免了沒有進入權限的用戶進入軟件運行界面的發生,使得擁有進入權限的用戶執行操作的準確性得到提高,提高了用戶的體驗。
[0048]在用戶進入到工作區之后,為了避免非授權用戶隨意退出正在運行的工作區的操作,提高用戶的退出權限,如圖1b所示,本發明實施例所提供的工作區的訪問控制方法,還包括如下流程步驟:
[0049]Slll:接收到退回指令后,獲取root權限或system權限。
[0050]在本步驟中,接收到退回指令后,可以通過獲取root權限或者獲取system權限來提升權限。
[0051]S112:在root權限或system權限下,將用戶的使用權限與預先設置的工作區的操作權限進行比較。
[0052]S113:若用戶的使用權限與預先設置的工作區的操作權限匹配,則反射調用相應函數,啟動待切換的工作區;否則,拒絕退出當前工作區。
[0053]需要說明的是,啟動待切換的工作區反射調用的函數為add perferredActivate,在本步驟中,利用反射機制調用的函數add Perferred Activate用于類PM(PackageManager,包管理器)中。啟動待切換的工作區中所涉及的反射調用函數的具體實現方法,可以參考啟動默認工作區中所涉及的反射調用函數的具體內容,此處不再贅述。
[0054]具體而言,若判斷出用戶的使用權限與預先設置的工作區的操作權限匹配,則利用反射機制調用add Preferred Activate函數后,利用Hook技術監控system Server進程,將監控到的函數的調用者的UID修改為系統WD后,system Server進程根據系統WD啟動待切換的工作區。
[0055]圖2為本發明實施例提供的工作區的訪問控制的裝置結構框圖。如圖2所示,本實施例工作區的訪問控制的裝置包括:權限獲取模塊210,權限比較模塊220和執行模塊230。
[0056]具體而言,權限獲取模塊210,用于檢測到Home鍵的點擊事件后,獲取root權限或system 權限;
[0057]權限比較模塊220,用于在root權限或system權限下,將用戶的使用權限與預先設置的工作區的操作權限進行比較,并輸出比較結果;
[0058]執行模塊230,用于根據權限比較模塊輸出的比較結果,在比較結果為匹配時,反射調用相應函數,啟動默認工作區;在比較結果為不匹配時,拒絕用戶訪問默認工作區。
[0059]具體而言,執行模塊230用于根據權限比較模塊輸出的比較結果,在比較結果為匹配時,利用反射機制調用add Preferred Activate函數后,利用Hook技術監控systemServer進程,將監控到的函數的調用者的UID修改為系統UID后,system Server進程根據系統WD啟動默認工作區。
[0060]在上述實施例中,通過權限獲取模塊檢測到Home鍵的點擊事件后,獲取root權限或system權限;權限比較模塊在root權限或system權限下,將用戶的使用權限與預先設置的工作區的操作權限進行比較,并輸出比較結果;執行模塊根據權限比較模塊輸出的比較結果,在比較結果為匹配時,反射調用相應函數,啟動默認工作區;在比較結果為不匹配時,拒絕用戶訪問默認工作區;這樣使得只有擁有進入權限的用戶才能執行操作,避免了沒有進入權限的用戶進入軟件運行界面的發生,使得擁有進入權限的用戶執行操作的準確性得到提聞,提聞了用戶的體驗。
[0061]此外,為了為用戶提供多種類型函數的選擇模式,本發明實施例所提供的工作區的訪問控制裝置,還包括函數調用模塊。
[0062]函數調用模塊,用于利用反射機制調用清除最近任務欄的函數。
[0063]在用戶進入到工作區之后,為了避免非授權用戶隨意退出正在運行的工作區的操作,提高用戶的退出權限,本發明實施例所提供的工作區的訪問控制裝置,還包括退出判斷模塊。
[0064]用于接收到退回指令后,提升權限獲取root權限或system權限;在root權限或system權限下,將用戶的使用權限與預先設置的工作區的操作權限進行比較;若用戶的使用權限與預先設置的工作區的操作權限匹配,則反射調用相應函數,啟動待切換的工作區;若用戶的使用權限與預先設置的工作區的操作權限不匹配,拒絕退出當前工作區。
[0065]上述權限獲取模塊、權限比較模塊、執行模塊、函數調用模塊和退出判斷模塊的功能的具體實現方法,可以參考上述如圖la、lb所示的方法流程步驟的具體內容,此處不再贅述。
[0066]此外,本發明還包括具有上述權限獲取模塊、權限比較模塊、執行模塊、函數調用模塊和退出判斷模塊的裝置的終端設備,根據上述裝置對工作區進行訪問控制。
[0067]本【技術領域】技術人員可以理解,本發明包括涉及用于執行本申請中所述操作中的一項或多項的設備。這些設備可以為所需的目的而專門設計和制造,或者也可以包括通用計算機中的已知設備。這些設備具有存儲在其內的計算機程序,這些計算機程序選擇性地激活或重構。這樣的計算機程序可以被存儲在設備(例如,計算機)可讀介質中或者存儲在適于存儲電子指令并分別耦聯到總線的任何類型的介質中,所述計算機可讀介質包括但不限于任何類型的盤(包括軟盤、硬盤、光盤、⑶-ROM、和磁光盤)、R0M(Read-Only Memory,只讀存儲器)、RAM (Random Access Memory,隨即存儲器)、EPROM (Erasable ProgrammableRead-Only Memory,可擦寫可編程只讀存儲器)、EEPROM(ElectricalIy ErasableProgrammable Read-Only Memory,電可擦可編程只讀存儲器)、閃存、磁性卡片或光線卡片。也就是,可讀介質包括由設備(例如,計算機)以能夠讀的形式存儲或傳輸信息的任何介質。
[0068]本【技術領域】技術人員可以理解,可以用計算機程序指令來實現這些結構圖和/或框圖和/或流圖中的每個框以及這些結構圖和/或框圖和/或流圖中的框的組合。本【技術領域】技術人員可以理解,可以將這些計算機程序指令提供給通用計算機、專業計算機或其他可編程數據處理方法的處理器來實現,從而通過計算機或其他可編程數據處理方法的處理器來執行本發明公開的結構圖和/或框圖和/或流圖的框或多個框中指定的方案。
[0069]本【技術領域】技術人員可以理解,本發明中已經討論過的各種操作、方法、流程中的步驟、措施、方案可以被交替、更改、組合或刪除。進一步地,具有本發明中已經討論過的各種操作、方法、流程中的其他步驟、措施、方案也可以被交替、更改、重排、分解、組合或刪除。進一步地,現有技術中的具有與本發明中公開的各種操作、方法、流程中的步驟、措施、方案也可以被交替、更改、重排、分解、組合或刪除。
[0070]以上所述僅是本發明的部分實施方式,應當指出,對于本【技術領域】的普通技術人員來說,在不脫離本發明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本發明的保護范圍。
【權利要求】
1.一種工作區的訪問控制的方法,其特征在于,包括: 檢測到Home鍵的點擊事件后,獲取root權限或system權限; 在所述root權限或system權限下,將用戶的使用權限與預先設置的工作區的操作權限進行比較; 若兩者匹配,則反射調用相應函數,啟動默認工作區;否則,拒絕所述用戶訪問所述默認工作區。
2.根據權利要求1所述的方法,其特征在于,所述反射調用相應函數,啟動所述默認工作區,具體包括: 利用反射機制調用add Preferred Activate函數后,利用Hook技術監控systemServer進程,將監控到的所述函數的調用者的UID修改為系統UID后,所述system Server進程根據系統WD啟動所述默認工作區。
3.根據權利要求2所述的方法,其特征在于,還包括: 利用反射機制調用清除最近任務欄的函數。
4.根據權利要求1所述的方法,其特征在于,所述方法還包括: 接收到退回指令后,獲取root權限或system權限; 在所述root權限或system權限下,將用戶的使用權限與預先設置的工作區的操作權限進行比較; 若兩者匹配,則反射調用相應函數,啟動待切換的工作區;否則,拒絕退出當前工作區。
5.根據權利要求1所述的方法,其特征在于,所述操作權限,具體包括: 管理員級別權限,高級用戶級別權限和普通用戶級別權限。
6.一種工作區的訪問控制的裝置,其特征在于,包括: 權限獲取模塊,用于檢測到Home鍵的點擊事件后,獲取root權限或system權限;權限比較模塊,用于在所述root權限或system權限下,將用戶的使用權限與預先設置的工作區的操作權限進行比較,并輸出比較結果; 執行模塊,用于根據權限比較模塊輸出的比較結果,在所述比較結果為匹配時,反射調用相應函數,啟動默認工作區;在所述比較結果為不匹配時,拒絕所述用戶訪問所述默認工作區。
7.根據權利要求6所述的裝置,其特征在于, 所述執行模塊具體用于根據權限比較模塊輸出的比較結果,在所述比較結果為匹配時,利用反射機制調用add Preferred Activate函數后,利用Hook技術監控systemServer進程,將監控到的所述函數的調用者的UID修改為系統UID后,所述system Server進程根據系統UID啟動所述默認工作區。
8.根據權利要求7所述的裝置,其特征在于,還包括: 函數調用模塊,用于利用反射機制調用清除最近任務欄的函數。
9.根據權利要求6所述的裝置,其特征在于,還包括: 退出判斷模塊,用于接收到退回指令后,提升權限獲取root權限或system權限;在所述root權限或system權限下,將用戶的使用權限與預先設置的工作區的操作權限進行比較;若所述用戶的使用權限與所述預先設置的工作區的操作權限匹配,則反射調用相應函數,啟動待切換的工作區;若所述用戶的使用權限與所述預先設置的工作區的操作權限不匹配,拒絕退出當前工作區。
10.一種終端設備,其特征在于,包括如權利要求6-9任一所述的裝置。
【文檔編號】G06F21/62GK104252588SQ201410579017
【公開日】2014年12月31日 申請日期:2014年10月24日 優先權日:2014年10月24日
【發明者】竇文科, 李旋, 張瑞博 申請人:北京奇虎科技有限公司, 奇智軟件(北京)有限公司