[发明专利]应用程序权限动态控制方法和系统有效
申请号: | 201310632042.2 | 申请日: | 2013-11-28 |
公开(公告)号: | CN103617380B | 公开(公告)日: | 2017-04-19 |
发明(设计)人: | 范文浩;吴帆;阙斌生;张洪光;唐碧华;余小秋 | 申请(专利权)人: | 北京邮电大学 |
主分类号: | G06F21/12 | 分类号: | G06F21/12 |
代理公司: | 北京市京大律师事务所11321 | 代理人: | 张璐,方晓明 |
地址: | 100876 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 应用程序 权限 动态控制 方法 系统 | ||
1.一种应用程序权限动态控制方法,其特征在于,包括:
服务管理ServiceManager进程接收到应用程序发送的服务请求时,调用新共享库中的接口控制ioctl函数;所述ioctl函数对所述服务请求进行解析,获取其中的进程id号和服务组件名称后通过所述ServiceManager进程与应用程序权限动态控制系统之间的通信链路向所述应用程序权限动态控制系统发送;
所述应用程序权限动态控制系统根据接收的进程id号,在权限列表数据库中查找对应该进程id号的权限申请信息,并确定接收的服务组件名称是否存在于查找到的权限申请信息中;若是,则向所述ioctl函数返回匹配成功信息;若否,则显示提示框提示用户是否运行本次服务请求;
所述应用程序权限动态控制系统若通过所述提示框接收到用户输入的许可指令,则将接收的服务组件名称添加到所述权限列表数据库中对应所述进程id号的权限申请信息中,然后向所述ioctl函数返回匹配成功信息;否则向所述ioctl函数返回匹配失败信息;
所述ioctl函数若接收到匹配成功信息,则响应所述服务请求;若接收到匹配失败信息,则拒绝所述服务请求。
2.如权利要求1所述的方法,其特征在于,所述新共享库是预先加载的,以及所述通信链路是预先建立的:
应用程序权限动态控制系统运行后将所述ServiceManager进程挂起,并备份所述ServiceManager进程的寄存器值和进程上下文;并将编译后的新共享库加载到所述ServiceManager进程的地址空间后,执行所述新共享库中的入口函数,建立所述ServiceManager进程与本应用程序权限动态控制系统之间的通信链路;
之后,所述应用程序权限动态控制系统根据备份的寄存器值和进程上下文恢复所述ServiceManager进程的执行现场。
3.如权利要求1或2所述的方法,其特征在于,所述权限列表数据库中的权限申请信息是预先提取并保存的:
所述应用程序权限动态控制系统运行后对于每个安装的应用程序,从该应用程序的清单Manifest文件中解析出权限申请信息并保存到所述权限列表数据库中。
4.如权利要求3所述的方法,其特征在于,所述应用程序权限动态控制系统安装于具有Android操作系统的移动终端中。
5.如权利要求4所述的方法,其特征在于,所述Manifest文件具体为XML格式的AndroidManifest.xml文件。
6.一种应用程序权限动态控制系统,其特征在于,包括:
权限匹配模块,用于在接收到ioctl函数通过所述应用程序权限动态控制系统与服务管理ServiceManager进程之间的通信链路发送的进程id号和服务组件名称后,根据接收的进程id号,在权限列表数据库中查找对应该进程id号的权限申请信息,并确定接收的服务组件名称是否存在于查找到的权限申请信息列表中;若是,则向所述ioctl函数返回匹配成功信息;若否,则发送权限配置通知;其中,所述ioctl函数是所述ServiceManager进程接收到应用程序发送的服务请求时从新共享库中调用的;
权限配置模块,用于接收到所述权限配置通知后,显示提示框提示用户是否允许本次服务请求;若通过所述提示框接收到用户输入的许可指令,则将接收的服务组件名称添加到所述权限列表数据库中对应所述进程id号的权限申请信息后,向所述ioctl函数返回匹配成功信息;否则向所述ioctl函数返回匹配失败信息;所述ioctl函数若接收到匹配成功信息,则响应所述服务请求;若接收到匹配失败信息,则拒绝所述服务请求。
7.如权利要求6所述的系统,其特征在于,还包括:
注入模块,用于在所述应用程序权限动态控制系统运行后,将所述ServiceManager进程挂起并处于受控状态,同时备份所述ServiceManager进程的寄存器值和进程上下文;并将编译后的新共享库加载到所述ServiceManager进程的地址空间中,执行所述新共享库的入口函数,建立所述ServiceManager进程与本应用程序权限动态控制系统之间的通信链路;之后,根据备份的寄存器值和进程上下文恢复所述ServiceManager进程。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京邮电大学,未经北京邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310632042.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种组合物在制备抗癫痫药物中的应用
- 下一篇:光缆用高吸水膨胀阻水膏