安卓Xposed框架安全应用研究.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 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

文档评论(0)

yingzhiguo + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5243141323000000

1亿VIP精品文档

相关文档