- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
安卓Xposed框架安全应用研究.doc
安卓Xposed框架安全应用研究
摘要:Xposed是安卓系统下的框架服务程序,可通过hook原有函数在不修改系统app的情况下改变系统配置,影响系统运行。基于Xposed框架可以开发许多功能强大的应用模块,在安全方面有非常广阔的前景。介绍了Xposed框架的基本情况和发展趋势;分析了该框架的实现原理及其底层结构;研究了Xposed模块的加载过程。重点对Xposed在未来手机安全方面的应用进行了研究。
关键词:Xposed;框架安全;应用研究
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2016)10-0049-03
1 概述
Xposed框架是在著名的智能手机开发者论坛XDA上诞生的一款特殊的安卓APP,由开发者rovo98进行开发和升级。Xposed作为安卓系统下的框架服务程序,可以在不修改系统apk的情况下改变系统配置,影响系统运行。其主要功能是建立了一个模块安装平台,在安装Xposed框架之后,使用者可以通过安装Xposed模块应用的方式,实现强大的功能。Xposed框架类似于越狱后的iOS系统Cydia平台,但由于安卓系统的开源性,Xposed框架可以提供更丰富的功能并让用户获得更好的体验。
Xposed框架的原理是通过修改和替换系统文件进而hook整个系统,所以基于Xposed框架开发系统级应用的难度大大降低。目前Xposed框架下的模块多以优化系统运行速度、美化界面和提供便捷操作等功能为主,为数不多的安全类模块均由外国开发者编写,如绿色守护等模块还需要支付费用才可获得全部功能,且安全应用多以软件权限控制为主,并没有充分利用Xposed框架的强大功能,目前越来越多的开发者开始关注Xposed,出现利用Xposed框架编写的密码破解程序和针对安卓漏洞masterkey的Xposed框架检测模块和补丁程序,因此利用Xposed框架进行安全方面应用开发前景非常广阔。
2 Xposed框架分析
2.1 Xposed框架实现原理和结构
Xposed框架的运作原理是劫持了安卓程序进程的启动过程,正常的安卓程序在启动时的过程首先要启用zygote进程,zygote是安卓进程的孵化器,其功能是创建Dalvik 虚拟机实例,并为Dalvik虚拟机加载资源,Dalvik虚拟机启动完成后就实现各子模块的初始化,并且加载了相应的Java核心类库,这样就可执行Java代码进而执行安卓程序[1]。
Xposed框架实现功能是通过修改/system/bin/app_process文件进而hook系统函数,app_process文件是zygote孵化器在创建dalvik虚拟机时调用的文件,其功能是启动安卓系统运行时库并启动虚拟机,修改后的文件可以实现在dalvik虚拟机创建时hook进而获取权限,Xposed实现各种功能的前提是hook系统函数,Xposed框架实现hook的原理是将需要hook的函数替换成Native方法XposedCallHandler,Dalvik虚拟机在解释执行函数时,遇到在执行中被hook的函数,就会直接调用XposedCallHandler,XposedCallHandler再调用 XposedBridge类的handleHookedMethod完成注册的beforeHookedMethod以及 afterHookedMethod 的调用,这两类回调函数之间,会调用原始函数,完成正常的功能。
2.2 Xposed框架结构
Xposed框架基本分为以下四个部分组成:
1)Xposed:Xposed 是用c++编写而成的,其功能是替换系统中的/system/bin/app_process文件,并为XposedBridge 提供JNI(Java本地接口)方法,实现Java和c++之间的通信;
2)XposedBridge:Xposedbridge是Xposed提供的jar文件,在app_process启动时系统会自动加载该文件以达到hook目的,Xposedbridge是其他模块开发的基础;
3)XposedInstaller:Xposed 的安装文件,提供Xposed框架安装功能和模块安装与下载和管理等功能,是Xposed框架的管理软件;
4)XposedMods:XposedMods是基于Xposed框架开发的应用模块实现了强大而丰富的功能。
Xposed c++源码[2]下载地址为http:///rovo89/Xposed。主要包括如下文件:
1)app_main.cpp:app_main.cpp的作用是修改和替换安卓系统框架中的app_main.cpp文件,app_main.c
您可能关注的文档
最近下载
- 胎圈钢丝市场洞察报告.pptx VIP
- Starter Unit 2 Keep Tidy Section A 1a-2e 课件 人教版2024七年级英语上册.pptx
- (9号)青岛天信电气500KW变频器培训资料(四象限).ppt
- 传统风貌区打测绘说明书.pdf
- 2025年传染病防治法培训试题及答案.docx VIP
- 金蝶云星空操作手册V3.5.docx VIP
- 《质量管理》试题题库汇总及参考答案 .pdf VIP
- 2024年八个方面检视剖析材料.docx VIP
- 2023燃气-蒸汽联合循环发电工程建设预算项目划分导则.docx VIP
- 基于文旅融合视角的研学旅游产品创新发展研究——以大连市为例.docx VIP
文档评论(0)