一种对动态加载的应用程序进行监控的方法及装置制造方法及图纸

技术编号:15725060 阅读:137 留言:0更新日期:2017-06-29 12:18
本发明专利技术提供了一种对动态加载的应用程序进行监控的方法,属于计算机技术领域,包括:在预装的宿主应用程序内检测到启动待监控应用程序的指令后,获取所述待监控应用程序的安装包;解析所述安装包的配置文件;根据所述配置文件获得各组件的入口,并对各所述组件的入口注册预设的监控代码;在所述宿主应用程序内分别加载并运行注册有监控代码的各所述组件,由所述监控代码监控各组件发出的资源访问请求。通过在预装的宿主应用程序内动态加载待监控应用程序,并植入监控代码,由所述监控代码监控各组件发出的资源访问请求,不需要获取ROOT权限,仅需要安装一个宿主应用程序,有效地实现了尚未安装的待监控应用程序的监控。

【技术实现步骤摘要】
一种对动态加载的应用程序进行监控的方法及装置
本专利技术涉及计算机
,特别是涉及一种对动态加载的应用程序进行监控的方法及装置。
技术介绍
Linux系统是一个可定制、裁剪的操作系统,为了灵活使用该操作系统,Linux设置了不同的用户权限,用于控制不同用户对该操作系统上的资源访问权限。安卓系统是运行在Linux内核上的,安卓(Android)与Linux分别有自己的一套严格的安全及权限机制。例如,对于安卓系统来说,最高权限Root可以访问系统的资源、删除和安装应用程序。随着基于安卓系统的软件和应用的逐渐增多,滥用安卓系统权限的软件越来越多,例如,有些恶意软件在获取了安卓系统的ROOT权限后,经常有恶意扣费、获取隐私、联网下载插件等看似正常的行为。然而,权限框架下,安卓系统的安全机制没办法防御类似上述的行为。为了实现对待监控应用程序进行安全监控,现有技术中常见的做法是:安装监控软件,并为该监控软件获取安卓的ROOT权限,在权限框架下,由监控软件对待监控应用程序进行监控。然而,随着Android系统的不断演进,Root权限越来越难以获得,使得通过开发监控软件来监控待监控应用程序的周期本文档来自技高网...
一种对动态加载的应用程序进行监控的方法及装置

【技术保护点】
一种对动态加载的应用程序进行监控的方法,其特征在于,包括:在预装的宿主应用程序内检测到启动待监控应用程序的指令后,获取所述待监控应用程序的安装包;解析所述安装包的配置文件;根据所述配置文件获得各组件的入口,并对各所述组件的入口注册预设的监控代码;在所述宿主应用程序内分别加载并运行注册有监控代码的各所述组件,由所述监控代码监控各组件发出的资源访问请求。

【技术特征摘要】
1.一种对动态加载的应用程序进行监控的方法,其特征在于,包括:在预装的宿主应用程序内检测到启动待监控应用程序的指令后,获取所述待监控应用程序的安装包;解析所述安装包的配置文件;根据所述配置文件获得各组件的入口,并对各所述组件的入口注册预设的监控代码;在所述宿主应用程序内分别加载并运行注册有监控代码的各所述组件,由所述监控代码监控各组件发出的资源访问请求。2.如权利要求1所述的方法,其特征在于,所述预装的宿主应用程序包括免ROOT沙箱程序。3.如权利要求1所述的方法,所述根据所述配置文件获得各组件的入口,并对各所述组件的入口注册预设的监控代码包括:解析所述配置文件获得各组件入口;利用反射机制获取各组件发送资源访问请求的类,并注册该类的钩子函数;其中,所述钩子函数在预设的监控代码中实现,用于当判断所述资源访问请求为受限请求时,重定向所述资源访问请求。4.如权利要求3所述的方法,其特征在于,所述在所述宿主应用程序内分别加载并运行注册有监控代码的各所述组件,包括:在所述宿主应用程序内构建各组件的运行环境;在所述运行环境下加载并运行各所述组件。5.如权利要求4所述的方法,其特征在于,所述在所述宿主应用程序内构建各组件的运行环境包括:构造所述待监控应用程序运行所需的资源环境,以在启动各所述组件时调取相应的资源;构造类加载器,以加载各所述组件中的相应加载类;构造主线程,以使所述执行各所述组件的启动操作;分别为各所述组件构造一个加载安卓安装包对象。6.如权利要求4所述的方法,其特征在于,所述在所述运行环境下加载并运行所述各组件进一步包括:若加载的所述组件为活动组件、广播接收者组件或服务组件,则在应用程序管理服务进行查验之前,将所述组件修改为所述宿主应用程序中的对...

【专利技术属性】
技术研发人员:杨威蒋旭宪
申请(专利权)人:北京奇虎科技有限公司奇智软件北京有限公司
类型:发明
国别省市:北京,11

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

1