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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。