一种频繁执行root权限操作并获得实时结果反馈的方法技术

技术编号:13732583 阅读:194 留言:0更新日期:2016-09-21 14:11
本发明专利技术公开了一种频繁执行root权限操作并获得实时结果反馈的方法,包括以下步骤:1:root权限提升工具植入手机;2:分析内存消耗的原因;3:root权限操作的流程进行优化;4:定义数据结构;5:设计实现权限操作结果检测;6:设计并实现批量不同操作请求的执行;7:清理所有调用资源并退出。本发明专利技术的有益效果如下:1、允许对特殊构建的文件列表中的信息逐一以root身份进行操作,列表中可以包含多种对文件的操作;2、在频繁对相同或不同文件进行root权限操作的同时,可以很好控制手机内存的占用,避免耗费过多资源导致的应用效率与速度的降低;3、允许在完成相关root操作后,对操作成功与否进行验证和反馈。

【技术实现步骤摘要】

本专利技术涉及信息安全
,特别涉及一种基于加密狗锁定/解锁电脑屏幕的方法。
技术介绍
Root权限是Linux系统的最高权限。Android手机的权限系统与Linux一致,但各厂商发布的Android系统通常都仅开放了针对普通用户的权限。如果需要获取更多系统层面或分属于其他应用的数据,则需要在手机中植入权限提升工具,然后通过一定的操作对root权限进行获取。该工具是运行在Android系统底层(Linux层)的,因此Android应用需要通过一个通道与该工具进行交互。当前通行的做法是:开启通道,执行ROOT相关操作,关闭通道。但该现有技术仅适用于利用shell命令对文件一次性批量处理,或仅针对某一个文件做处理。该现有技术在处理过程中存在以下限制:1、无法获得实时的反馈信息,即权限操作的结果。2、由于通道无法复用,导致在需要逐一选择性地对文件进行操作时,需要频繁开启通道、关闭通道。这种使用方式使得手机硬件资源被大量消耗,明显降低了应用执行的流畅度与性能。3、针对多重root权限操作(如同时希望删除某文件,增加某文件夹以及修改某文件权限),只能分别对每一个操作构建shell并进行操作,内存消耗较高。
技术实现思路
本专利技术针对现有技术的缺陷,提供了一种基于加密狗锁定/解锁电脑屏幕的方法,能有效的解决上述现有技术存在的问题。一种频繁执行root权限操作并获得实时结果反馈的方法,包括以下步骤:1:root权限提升工具植入手机,将在/system/bin下植入su文件;2:分析频繁执行root权限操作引起大量内存消耗的原因;3:对root权限操作的流程进行优化;4:定义数据结构用于描述文件root权限执行的操作请求;5:研究并设计实现权限操作结果检测,使用shell指令对文件所在列表进行详情获取的方式对文件chmod操作进行验证。其他方法通过文件系统的exist方法进行验证;6:设计并实现批量不同操作请求的执行;7:清理所有调用资源并退出。作为优选,所述步骤2的详细步骤如下:2.1:执行linux下的chmod指令;2.2:获取su的进程,调用android系统的Runtime.getRuntime().exec(\su\)方法,获得一个su的进程对象;2.3:建立Android与su进程的通道,用进程对象process获取OutPutStream,并包装成为DataOutputStream;2.4:向通道写入shell指令并执行,使用DataOutputStream的writeBytes方法,在指令之后加上“/n”并将指令写入通道中,调用DaraOutputStream的flush方法将指令刷进su进程;2.5:关闭通道与su进程释放资源,写入exit/n并关闭DataOutputStream。作为优选,所述步骤3的详细步骤如下:3.1:在Android中声明并创建一个Service,用于为应用全局提供权限操作服务。3.2:在service中完成su进程与通道的创建;3.2.1:在service初始化时即创建su进程;3.2.2:创建Service全局的DataOutputStream;3.2.3:初始化该DataOutputStream通道;3.3:定义root权限操作的指令生成模版及执行方法;3.3.1:创建字符串构建方法,输入为权限值和文件路径;3.3.2:创建指令执行方法,该方法以字符串构建方法为输入,通过通道向su进程写入指令并执行;3.4:保持su进程及Service的全局通道始终可用;3.5:为service创建外部调用接口;3.5.1:定义ServiceHandler类用于处理外部对Service的调用;3.5.2:在类内部定义广播,用于向service发送指令;3.5.3:将具体的shell指令或调用请求作为广播的参数交由ServiceHandler;3.6:在service中创建对ServiceHandler的响应;3.6.1:在service中创建广播接收器;3.6.2:根据接收到的广播参数调用相应方法完成与su文件的交互。作为优选,所述步骤4的详细步骤如下:4.1:定义描述结构,该描述类包括描述类型、文件路径、操作参数三个数
据域;4.2:定义描述类中涉及的描述类型;4.3:定义文件路径格式,文件路径为string形式;4.4:操作参数数据域与描述类型相关。作为优选,所述步骤5的详细步骤如下:5.1:验证chmod权限修改结果;5.1.1:创建shell进程并获取待验证文件所在目录的列表详情,指令格式为ls:–l:path;5.1.2:创建输入流获取执行上述指令获得的返回值;5.1.3:逐行读取返回的数据,获取与待验证文件名相同的条目;5.1.4:解析获取到的条目,截取第1-10个字符,按照以下规则转换为权限值;5.1.5:与修改指令中的参数域中的权限值做对比,返回对比结果,0x10:成功,0x11:失败。5.2:验证cp、rm、mkdir等文件操作指令执行结果对该类操作的验证,直接通过java中的File.exist方法判断即可;5.3:完善ServiceHandler类的权限操作的结果反馈接口;5.3.1:Service中增加验证结果广播,以验证结果为参数;5.3.2:ServiceHandler中增加相应的验证广播的接收器,并在此增加外部回调接口反馈信息。作为优选,所述步骤6的详细步骤如下:6.1:用ArrayList创建存放描述操作请求的列表;6.2:在ServiceHandler中增加以List为参数的接口;6.3:将一系列不同操作请求分别封装成操作请求描述对象并将各描述对象装入ArrayList传入ServiceHandler;6.4:在ServiceHandler中有序取出操作描述对象,按既定格式解析描述请求并执行请求、逐一调用回调返回结果。作为优选,所述步骤7的详细步骤如下:7.1:用过Service中构建的DataOutputStream向进程中写入:exit/n,关闭su进程;7.2:关闭DataOutputStream;7.3:注销Service与ServiceHandler中的广播接收器;7.4:关闭service。与现有技术相比本专利技术的优点在于:1、允许对特殊构建的文件列表中的信息逐一以root身份进行操作,列表中可以包含多种对文件的操作。2、在频繁对相同或不同文件进行root权限操作的同时,可以很好控制手机内存的占用,避免耗费过多资源导致的应用效率与速度的降低。3、允许在完成相关root操作后,对操作成功与否进行验证和反馈。具体实施方式为使本专利技术的目的、技术方案及优点更加清楚明白,以下举实施例,对本专利技术做进一步详细说明。本专利技术主要解决了频繁单次调用root权限工具进行权限操作导致的高内存消耗问题,同时对root权限获取的功能进行了改善。本专利技术主要技术如下:1.自主分析了当前通行的root权限操作流程,确定该流程中可复用的部分,并使用Android系统的Service组件对复用结构进行包装,并实现外部访问接口;2.自主定义了用于装载root权限操作的所针对的文件以及相关操作内容的数据结构,并构建列表对该数据结构进行包装。用于本文档来自技高网
...

【技术保护点】
一种频繁执行root权限操作并获得实时结果反馈的方法,其特征在于包括以下步骤:1:root权限提升工具植入手机,将在/system/bin下植入su文件;2:分析频繁执行root权限操作引起大量内存消耗的原因;3:对root权限操作的流程进行优化;4:定义数据结构用于描述文件root权限执行的操作请求;5:研究并设计实现权限操作结果检测,使用shell指令对文件所在列表进行详情获取的方式对文件chmod操作进行验证。其他方法通过文件系统的exist方法进行验证;6:设计并实现批量不同操作请求的执行;7:清理所有调用资源并退出。

【技术特征摘要】
1.一种频繁执行root权限操作并获得实时结果反馈的方法,其特征在于包括以下步骤:1:root权限提升工具植入手机,将在/system/bin下植入su文件;2:分析频繁执行root权限操作引起大量内存消耗的原因;3:对root权限操作的流程进行优化;4:定义数据结构用于描述文件root权限执行的操作请求;5:研究并设计实现权限操作结果检测,使用shell指令对文件所在列表进行详情获取的方式对文件chmod操作进行验证。其他方法通过文件系统的exist方法进行验证;6:设计并实现批量不同操作请求的执行;7:清理所有调用资源并退出。2.根据权利要求1所述的一种频繁执行root权限操作并获得实时结果反馈的方法,其特征在于所述步骤2的详细步骤如下:2.1:执行linux下的chmod指令;2.2:获取su的进程,调用android系统的Runtime.getRuntime().exec(\su\)方法,获得一个su的进程对象;2.3:建立Android与su进程的通道,用进程对象process获取OutPutStream,并包装成为DataOutputStream;2.4:向通道写入shell指令并执行,使用DataOutputStream的writeBytes方法,在指令之后加上“/n”并将指令写入通道中,调用DaraOutputStream的flush方法将指令刷进su进程;2.5:关闭通道与su进程释放资源,写入exit/n并关闭DataOutputStream。3.根据权利要求2所述的一种频繁执行root权限操作并获得实时结果反馈的方法,其特征在于所述步骤3的详细步骤如下:3.1:在Android中声明并创建一个Service,用于为应用全局提供权限操作服务。3.2:在service中完成su进程与通道的创建;3.2.1:在service初始化时即创建su进程;3.2.2:创建Service全局的DataOutputStream;3.2.3:初始化该DataOutputStream通道;3.3:定义root权限操作的指令生成模版及执行方法;3.3.1:创建字符串构建方法,输入为权限值和文件路径;3.3.2:创建指令执行方法,该方法以字符串构建方法为输入,通过通道向su进程写入指令并执行;3.4:保持su进程及Service的全局通道始终可用;3.5:为service创建外部调用接口;3.5.1:定义ServiceHandler类用于处理外部对Service的调用;3.5.2:在类内部定义广播,用于向service发送指令;3.5.3:将具体的shell指令或调用请求作为广播的参数交由ServiceHan...

【专利技术属性】
技术研发人员:黄旭
申请(专利权)人:四川秘无痕信息安全技术有限责任公司
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1