The embodiment of the invention discloses a protection method, a Android system application in Android application system, through the process of monitoring the state file specific process, determine whether the application is in the debugging status; the specific process for the application of main process or pre created applications the main process of sub processes; the application is being debugged when forced to exit the application. The embodiment of the invention also discloses a protection device for a Android system application program.
【技術實現步驟摘要】
一種安卓系統應用程序的保護方法和裝置
本專利技術涉及安卓(Android)軟件保護技術,尤其涉及一種安卓系統應用程序的保護方法和裝置。
技術介紹
在對安卓系統應用程序進行保護,現有技術主要通過軟件加殼和代碼混淆來實現。雖然加殼和混淆是目前安卓軟件開發者常用的軟件保護手段,針對靜態分析確實有很好的效果;但是這兩種方法在反動態調試方面效果不佳,無法很好的保證程序運行時的安全。在實現安卓系統應用程序反動態調試時,當前使用最多的反動態調試的技術方案為:通過調用ptrace系統函數來使調試器失效,從而實現反動態調試;然而,這種反動態調試的技術還至少存在以下缺點:1)由于這種反動態調試的技術的核心在于通過調用ptrace系統函數來使調試器失效,體現在代碼里只是一個函數調用,實現機制較為簡單,破解者可以通過靜態反編譯的手段將這一函數調用注釋掉,如此,反調試機制就會失效。2)無法兼容安卓4.4及以后的版本;具體地說,由于安卓4.4及以后的版本中開啟了全新的安全模式,無法再調ptrace系統函數來實現反調試。
技術實現思路
為解決上述技術問題,本專利技術實施例期望提供一種安卓系統應用程序的保護方法和裝置,具有較高的兼容性和安全性。本專利技術的技術方案是這樣實現的:本專利技術實施例提供了一種安卓系統應用程序的保護方法,包括:在安卓系統應用程序運行時,通過監測特定進程的進程狀態文件,確定所述應用程序是否處于被調試狀態;所述特定進程為所述應用程序主進程或預先創建的應用程序主進程的子進程;所述應用程序處于被調試狀態時,強制退出所述應用程序。上述方案中,所述監測特定進程狀態文件包括:監測 ...
【技術保護點】
一種安卓系統應用程序的保護方法,其特征在于,所述方法包括:在安卓系統應用程序運行時,通過監測特定進程的進程狀態文件,確定所述應用程序是否處于被調試狀態;所述特定進程為所述應用程序主進程或預先創建的應用程序主進程的子進程;所述應用程序處于被調試狀態時,強制退出所述應用程序。
【技術特征摘要】
1.一種安卓系統應用程序的保護方法,其特征在于,所述方法包括:在安卓系統應用程序運行時,通過監測特定進程的進程狀態文件,確定所述應用程序是否處于被調試狀態;所述特定進程為所述應用程序主進程或預先創建的應用程序主進程的子進程;所述應用程序處于被調試狀態時,強制退出所述應用程序。2.根據權利要求1所述的方法,其特征在于,所述監測特定進程狀態文件包括:監測特定進程的進程狀態文件的TracerPid字段的值。3.根據權利要求1或2所述的方法,其特征在于,所述確定所述應用程序是否處于被調試狀態,包括:所述應用程序主進程的進程狀態文件的TracerPid字段的值非0,或應用程序主進程的子進程的進程狀態文件的TracerPid字段的值非0時,確定所述應用程序處于被調試狀態;否則,確定所述應用程序未處于被調試狀態。4.根據權利要求1或2所述的方法,其特征在于,在確定所述應用程序是否處于被調試狀態之前,所述方法還包括:獲取預設的反調試函數;所述反調試函數,用于在被執行時,實現第一功能和第二功能;所述第一功能為所述通過監測特定進程的進程狀態文件,確定所述應用是否處于被調試狀態的功能,所述第二功能為所述應用程序處于被調試狀態時,強制退出所述應用程序的功能;所述確定所述應用程序是否處于被調試狀態,包括:利用所述應用程序主進程的子進程調用反調試函數,實現所述第一功能;所述應用程序處于被調試狀態時,強制退出所述應用程序,包括:在反調試函數實現所述第一功能后,實現所述第二功能。5.根據權利要求4所述的方法,其特征在于,所述獲取預設的反調試函數,包括:將預設的反調試函數封裝在C語言編寫的SO文件中;通過執行SO文件加載函數來調用SO文件中的反調試函數。6.根據權利要求4所述的方法,其特征在于,在獲取預設的反調試函數之后,所述方法還包括:在所述反調試函數中創建所述應用程序主進程的子進程。7.根據權利要求4所述的方法,其特征在于,所述利用所述應用程序主進程的子進程調用反調試函數,包括:所述應用程序主進程的子進程每隔n秒調用反調試函數,n為正數。8.根據權利要求...
【專利技術屬性】
技術研發人員:耿慧拯,石松泉,劉芳,柏洪濤,
申請(專利權)人:中國移動通信集團公司,
類型:發明
國別省市:北京,11
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。