[發明專利]應用程序啟動時的驗證方法、裝置、電子設備及存儲介質在審
| 申請號: | 201811528196.6 | 申請日: | 2018-12-13 |
| 公開(公告)號: | CN111324888A | 公開(公告)日: | 2020-06-23 |
| 發明(設計)人: | 張曉 | 申請(專利權)人: | 北京奇虎科技有限公司 |
| 主分類號: | G06F21/52 | 分類號: | G06F21/52;G06F21/44 |
| 代理公司: | 北京市立方律師事務所 11330 | 代理人: | 張筱寧 |
| 地址: | 100088 北京市西城區新*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 應用程序 啟動 驗證 方法 裝置 電子設備 存儲 介質 | ||
本申請實施例提供了一種應用程序啟動時的驗證方法、裝置、電子設備及存儲介質。該方法包括:在接收到對應用程序的啟動請求時,通過鉤子函數監控針對應用程序的Provider方法的調用請求;在監控到針對應用程序的Provider方法的調用請求時,攔截調用請求,并將用于啟動應用程序的目標包名作為調用請求的響應信息;基于目標包名對應用程序進行身份驗證。在本申請實施例中,由于會將用于啟動應用程序的目標包名作為調用請求的響應信息,這樣系統就會基于返回的目標包名對應用程序進行身份驗證,此時驗證的包名是一致的,避免了出現驗證錯誤,保證了應用程序可以正常啟動。
技術領域
本申請涉及計算機技術領域,具體而言,本發明涉及一種應用程序啟動時的驗證方法、裝置、電子設備及存儲介質。
背景技術
在生活中,用戶有時候需要在一個終端設備中開啟某個應用程序的分身,來實現同時可以登錄某個應用程序的不同賬號,在實現這一功能時,對于應用Android(安卓)系統的終端設備來說,首先需要將真實Activity替換為分身應用程序的坑位Activity,然后再將坑位Activity還原為真實Activity來實現分身應用程序的啟動。
然而,在完成Activity替換后分身應用程序依然無法運行,這是因為Activity在啟動時會讀SettingProvider,并基于該讀取操作獲取的包名對分身應用程序進行系統驗證,但是在Android P系統中,由于Provider的獲取時機變了,導致在將分身應用程序的包名替換為用于啟動分身應用程序的目標包之前就獲取到了Provider,也就是說獲取的包名為替換前的包名,進而在驗證的時候產生校驗錯誤。
發明內容
本申請的目的旨在至少能解決上述的技術缺陷之一。本申請提供的技術方案如下:
第一方面,本申請實施例提供一種應用程序啟動時的驗證方法,該驗證方法包括:
在接收到對應用程序的啟動請求時,通過鉤子函數監控針對應用程序的Provider(提供者)方法的調用請求;
在監控到針對應用程序的Provider方法的調用請求時,攔截調用請求,并將用于啟動應用程序的目標包名作為調用請求的響應信息;
基于目標包名對應用程序進行身份驗證。
在本申請實施例中,通過鉤子函數監控針對應用程序的Provider方法的調用請求之后,方法還包括:
確定是否存儲有應用程序的包名;
若存在,則刪除存儲的應用程序的包名。
在本申請實施例中,若應用程序為分身應用程序,目標包名為分身應用程序對應的原應用程序的包名。
在本申請實施例中,基于目標包名對應用程序進行身份驗證,包括:
基于目標包名和系統為分身應用程序對應的原應用程序分配的包名,對分身應用程序進行身份驗證。
第二方面,本申請實施例提供一種應用程序啟動時的驗證裝置,該驗證裝置包括:
調用請求監控模塊,用于在接收到對應用程序的啟動請求時,通過鉤子函數監控針對應用程序的Provider方法的調用請求;
調用請求處理模塊,用于在監控到針對應用程序的Provider方法的調用請求時,攔截調用請求,并將用于啟動應用程序的目標包名作為調用請求的響應信息;
身份驗證模塊,用于基于目標包名對應用程序進行身份驗證。
在本申請實施例中,用請求監控模塊還用于:
在調用請求監控模塊在通過鉤子函數監控針對應用程序的Provider方法的調用請求之后,確定是否存儲有身應用程序的包名;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京奇虎科技有限公司,未經北京奇虎科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811528196.6/2.html,轉載請聲明來源鉆瓜專利網。





