standard download
(19)国家知识产权局 (12)发明 专利 (10)授权公告 号 (45)授权公告日 (21)申请 号 202211044025.2 (22)申请日 2022.08.30 (65)同一申请的已公布的文献号 申请公布号 CN 115114610 A (43)申请公布日 2022.09.27 (73)专利权人 神州智云 (广东) 科技有限公司 地址 510663 广东省广州市黄埔区光谱中 路11号2栋1单 元1002房 (72)发明人 杨朋举 卢爱丽 卢鹏程  (74)专利代理 机构 广州圣理华知识产权代理有 限公司 4 4302 专利代理师 李唐明 (51)Int.Cl. G06F 21/44(2013.01) G06F 21/62(2013.01)G06F 21/60(2013.01) G06F 9/448(2018.01) (56)对比文件 CN 107068150 A,2017.08.18 CN 106886715 A,2017.0 6.23 CN 103646215 A,2014.0 3.19 US 2014137183 A1,2014.0 5.15 MX东芝.Andro id安全之使用ro ot权限绕过 检测机制,强行自动允许应用的悬浮窗/ 应用后 台弹出界面 等权限. 《ht tps://blog.csdn.net/ u014418171/article/detai ls/103868878》 .2020, 审查员 简文雨 (54)发明名称 一种基于安卓系统通过Root调用服务的模 块及方法 (57)摘要 本发明提供了一种基于安卓系统通过Root 调用服务的模块及方法, 包括执行特权操作的应 用程序, 和以Root用户身份运行的特权进程; 应 用程序包 括Shell进 程和ContentP rovider单元; 特权进程包 括su程序、 app_process程序和dex 程 序; 应用程序配置为通过Sh ell进程调用su 程序, 建立链接; 应用程序通过命令Shell进程执行特 权进程的app_process程序; 特权进程配置为进 行初始化并创建远程Binder对象, 将远程Binder 对象通过应用程序注册的ContentProv ider单元 发送至应用程序。 其具有授予撤销应用指定权 限、 静默安装应用、 配 置默认应用等功能。 权利要求书2页 说明书8页 附图3页 CN 115114610 B 2022.12.09 CN 115114610 B 1.一种基于安卓系统通过Root调用服务的模块, 其特征在于, 包括执行特权操作的应 用程序, 和以Ro ot用户身份运行的特权进程; 其中: 所述应用程序包括Shell进程和ContentProvider单元; 所述特权进程包括su程序、 app_proces s程序和dex程序; 所述应用程序配置为通过Shell进程调用su程序, 建立链接; 所述应用程序通过命令 Shell进程直接或间接执 行特权进程的ap p_proces s程序, 以运行dex程序初始化特权进程; 所述特权进程配置为进行初始化并创建远程Binder对象, 且将远程Binder对象通过应 用程序注 册的ContentProvider单 元发送至应用程序; 所述基于安卓系统通过Ro ot调用服 务的模块的实现方法包括以下步骤: S1: 创建远程Binder对象并等待调用: 使用Java语言编写dex程序, 启动dex程序并创建 远程Binder对象; 所述远程Binder对象配置为处理应用程序发送的调用请求, 并配置为常 驻后台等待调用; 当特权进程初始化完成后, 将所述远程Binder对象通过ContentProvider 发送给应用程序; S2: 创建子进程并启动dex程序: 使用编程语言编写可执行程序, 该可执行程序配置为 运行后, 调用fork函数并创建子进程; 主进程退出, 以使所述子进程脱离主进程运行; 所述 子进程启动 后使用execvp函数调用ap p_proces s进程, 以启动步骤S1创建的dex程序; S3: 建立应用程序与特权进程通信: 在AndroidManifest .xml文件中注册 ContentProvider, 并创建对应的类, 覆写ContentProvider中的call方法; 所述call方法的 Bundle参数配置为携带 特权进程发送的Bi nder对象; S4: 发送可执行程序及dex程序: 将可执行程序与dex程序发送至安卓操作系统的应用 程序apk中, 程序apk启动 后将可执行程序、 dex程序释放至程序所属cac he目录; S5: 启动特权进程的Shell进程: 应用程序启动后, 使用Runtime.getRuntime().exec ()函数调用su程序,启动Shel l进程; S6: 添加执行权限: 应用程序向特权进程的Shell进程写入命令, 将释放得到的cache目 录的两个文件复制到目标目录中, 并使用c hmod()函数 给可执行程序添加执 行权限; S7: 初始化特权进程: 应用程序向特权进程的Shell进程写入命令执行可执行程序, 并 传入dex程序路径作为参数; 可执行程序配置为使用app_process启动 该参数指定的dex程 序, 完成特权进程初始化; S8: 发送远程Binder对象: 所述特权进程启动后, 创 建步骤S1中所述远程Binder对象, 并通过Co ntentProvider发送至应用程序; S9: 代理Binder对象转换为接口对象: 应用程序收到远程Binder对象后, 为本地每一个 请求使用特权身份调用的原Binder对象创建代理Binder对象, 将代理Binder对象使用原 Binder对象对应接口 的asInterface()函数转换为可调用的接口对象; S10: 发送打包参数: 对接口对象进行调用时, 触发代理B inder对象的onTransact方法, 该方法将调用参数与原Bi nder对象组合 为打包参数发送给 特权进程; S11: 对原Binder对象发起调用: 特权进程被调用时, 代理Binder对象的onTransact方 法被触发, 从打包参数中分离出原Binder对象与调用参数, 并使用调用参数对原Binder对 象发起调用; S12: 返回执行结果: 特权进程调用完毕后, 执行结果依次返回到接口对象, 特权调用完权 利 要 求 书 1/2 页 2 CN 115114610 B 2成。 2.根据权利要求1所述的一种基于安卓系统通过Root调用服务的模块, 其特征在于, 所 述ContentProvider单 元配置为用于 接收来自特权进程发送的远程Bi nder对象; 所述ContentProvider单元使用应用程序包名和固定字符串组合而成的字符串作为 authorities; 覆写ContentProvider单元中的call方法, 所述call方法的Bundle参数从中 取出由特权进程发送的远程Bi nder对象。 3.根据权利要求1所述的一种基于安卓系统通过Root调用服务的模块, 其特征在于, 应 用程序配置为 通过执行su程序, 以获取 特权Shel l进程。 4.根据权利要求1所述的一种基于安卓系统通过Root调用服务的模块, 其特征在于, 所 述应用程序为本地需要特权执行的原Binder对象创建代理Binder对象, 并将代理Binder对 象配置为实际接口对象等待调用。 5.根据权利要求1所述的一种基于安卓系统通过Root调用服务的模块, 其特征在于, 所 述应用程序配置为调用代理Binder对象时, 将调用参数与原Binder对象合并作为打包参 数, 对远程Bi nder对象发起调用, 将远程Bi nder对象的执 行结果返回给应用程序。 6.根据权利要求5所述的一种基于安卓系统通过Root调用服务的模块, 其特征在于, 所 述特权进程配置为进行初始化并创建远程Binder对象包括: 远程Binder对象被代理Binder 对象调用时, 从打包参数中取出原参数与原Binder对象, 再使用原参数对原Binder对象发 起调用, 将结果返回至代理Bi nder对象。 7.根据权利要求1所述的一种基于安卓系统通过Root调用服务的模块, 其特征在于, 所 述特权进程通过使用应用程序包名和固定字符串组合而成的字符串作为authority; 特权 进程通过IA ctivityManager 接口调用activ ity服务的getContentProv iderExternal方法, 使用authority作为String参数, 以获取可调用到应用程序提供的ContentProvider单元的 IContentProvider对象; 将远程Binder对象装入Bu ndle参数调用IContentProvider对象中 的call方法。 8.根据权利要求1~7任意一项所述的一种基于安卓系统通过Root调用服务的模块, 其 特征在于, 在步骤S2中, 所述编程语言为C语言或C+ +语言。 9.根据权利要求1~7任意一项所述的一种基于安卓系统通过Root调用服务的模块, 其 特征在于, 在步骤S3中, 特权进程可将远程Binder对象创建好后放入Bundle中, 通过访问应 用程序的ContentProvider的call方法, 将Bundle传递到应用程序; 应用程序的 ContentProvider的call方法被调用后,

PDF文档 专利 一种基于安卓系统通过Root调用服务的模块及方法

文档预览
中文文档 14 页 50 下载 1000 浏览 0 评论 0 收藏 3.0分
温馨提示:本文档共14页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种基于安卓系统通过Root调用服务的模块及方法 第 1 页 专利 一种基于安卓系统通过Root调用服务的模块及方法 第 2 页 专利 一种基于安卓系统通过Root调用服务的模块及方法 第 3 页
下载文档到电脑,方便使用
本文档由 SC 于 2024-02-18 22:34:28上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。