一种跟踪Android程序行为的方法及系统技术方案

技术编号:10053773 阅读:223 留言:0更新日期:2014-05-16 02:29
本发明专利技术属于病毒防御技术领域,具体公开了一种跟踪Android程序行为的方法及系统。该方法包括以下步骤:解包并反汇编所述Android程序;插入监控程序段至反汇编后的Android程序中,所述监控程序段用于监控所述Android程序运行过程中的运行行为;汇编并打包插入了监控程序段的Android程序;运行重新汇编后的Android程序,并通过所述监控程序段获取该Android程序的运行行为数据。本发明专利技术可以自动分析和监控Android程序的运行行为,此过程不仅分析效率高,而且对加密后的Android程序也可以进行分析。

【技术实现步骤摘要】
一种跟踪Android程序行为的方法及系统
本专利技术属于病毒防御
,具体涉及一种跟踪Android程序行为的方法及系统。
技术介绍
Android是一种以Linux为基础的开放源代码操作系统,主要使用于便携设备。目前尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。Android操作系统最初由AndyRubin开发,最初主要支持手机。2005年由Google收购注资,并组建开放手机联盟开发改良,逐渐扩展到平板电脑及其他领域上。反汇编:把目标代码转为汇编代码的过程,也可说是把机器语言转为汇编语言代码,低级转高级的意思,常用于软件破解(例如找到它是如何注册的,从而解出它的注册码或者编写注册机。),外挂技术,病毒分析,逆向工程,软件汉化。通常,编写程序是利用高级语言如C,pascal等高级语言进行编程的,然后再经过编译程序生成可以被计算机系统直接执行的文件(机器语言)。反汇编即是指将这些执行文件反编译还原成汇编语言或其他高级语言。但通常反编译出来的程序与原程序会存在些许不同,虽然执行效果相同,但程序代码会发生很大的变化,要读懂反汇编需要有扎实的高级语言编写功底,和汇编功底。目前网络上的免费软件,PSPPSNDS游戏机的破解和苹果iOS系统的越狱都跟反汇编息息相关。随着Android系统的不断普及,各种Android病毒程序也日渐兴起,目前面对这些程序的分析方法通常就是将其反编译成明文,然后人工逐一分析器程序行为,进而判断其是否具有一些恶意行为,比如:删除系统文件等等。这种方法不仅效率低下,而且通常病毒制作者也会对程序加密,反编译出来是一些乱码,根本无法分析。
技术实现思路
为了解决上述问题,本专利技术的目的在于提供一种跟踪Android程序行为的方法及系统,以自动分析和监控其运行行为。为了实现上述专利技术目的,基于上述研究发现,得到了以下技术方案:一种跟踪Android程序行为的方法,包括以下步骤:解包并反汇编所述Android程序;插入监控程序段至反汇编后的Android程序中,所述监控程序段用于监控所述Android程序运行过程中的运行行为;汇编并打包插入了监控程序段的Android程序;运行重新汇编后的Android程序,并通过所述监控程序段获取该Android程序的运行行为数据。进一步的,所述的运行行为包括调用系统函数行为。进一步的,所述运行行为数据包括传入参数、传出参数、以及返回值。进一步的,所述运行重新汇编后的Android程序,具体是:将重新汇编后的Android程序置于设备模拟器或真实设备中运行。一种跟踪Android程序行为的系统,包括以下模块:解包和反汇编模块,解包并反汇编所述Android程序;监控程序插入模块,插入监控程序段至反汇编后的Android程序中,所述监控程序段用于监控所述Android程序运行过程中的运行行为;汇编和打包模块,汇编并打包插入了监控程序段的Android程序;模拟运行模块,运行重新汇编后的Android程序,并通过所述监控程序段获取该Android程序的运行行为数据。进一步的,所述的运行行为包括调用系统函数行为。进一步的,所述运行行为数据包括传入参数、传出参数、以及返回值。进一步的,所述运行重新汇编后的Android程序,具体是:将重新汇编后的Android程序置于设备模拟器或真实设备中运行。本专利技术通过插入监控程序段,然后通过监控程序段在Android程序运行过程中获取其运行行为数据,根据这些运行行为数据即可知道该Android程序是否为病毒程序。此过程不仅可以自动完成提高分析效率,而且对加密后的Android程序也可以进行分析。附图说明此附图说明所提供的图片用来辅助对本专利技术的进一步理解,构成本申请的一部分,并不构成对本专利技术的不当限定,在附图中:图1是本专利技术方法对应的流程图;图2是本专利技术系统对应的框图。具体实施方式如图1所示,本实施例公开了一种跟踪Android程序行为的方法,包括以下步骤:Step1:解包并反汇编所述Android程序;所谓的解包就是压包的反过程,即将压包文件还原成原来的文件;所谓的反汇编就是把目标代码转为汇编代码的过程,也可说是把机器语言转为汇编语言代码,低级转高级的意思;本步骤采用现有的解包和反汇编各种方法,即可完成。Step2:插入监控程序段至反汇编后的Android程序中,所述监控程序段用于监控所述Android程序运行过程中的运行行为,所述的运行行为包括调用系统函数行为;程序的行为基本都是体现在函数调用上,通过监控系统函数的调用行为可以了解该Android程序是否存在比如删除重要数据、修改系统重要参数、窃取用户信息等恶意行为。Step3:汇编并打包插入了监控程序段的Android程序,本步骤就是将其转换成目标代码以供机器执行。Step4:运行重新汇编后的Android程序,具体是:将重新汇编后的Android程序置于设备模拟器或真实设备中运行;并通过所述监控程序段获取该Android程序的运行行为数据,所述运行行为数据包括传入参数、传出参数、以及返回值;通过其传入参数、传出参数、以及返回值就可以完全掌握其运行行为,进而直观分析出该Android程序是否为病毒程序。本实施例还公开了一种跟踪Android程序行为的系统,包括以下模块:解包和反汇编模块1,解包并反汇编所述Android程序;监控程序插入模块2,插入监控程序段至反汇编后的Android程序中,所述监控程序段用于监控所述Android程序运行过程中的运行行为,所述的运行行为包括调用系统函数行为;汇编和打包模块3,汇编并打包插入了监控程序段的Android程序;模拟运行模块4,运行重新汇编后的Android程序,并通过所述监控程序段获取该Android程序的运行行为数据,所述运行行为数据包括传入参数、传出参数、以及返回值。所述运行重新汇编后的Android程序,具体是:将重新汇编后的Android程序置于设备模拟器或真实设备中运行。本专利技术通过插入监控程序段,然后通过监控程序段在Android程序运行过程中获取其运行行为数据,根据这些运行行为数据即可知道该Android程序是否为病毒程序。以上详细描述了本专利技术的较佳具体实施例,应当理解,本领域的普通技术无需创造性劳动就可以根据本专利技术的构思做出诸多修改和变化。因此,凡本
中技术人员依本专利技术构思在现有技术基础上通过逻辑分析、推理或者根据有限的实验可以得到的技术方案,均应该在由本权利要求书所确定的保护范围之中。本文档来自技高网
...
一种跟踪Android程序行为的方法及系统

【技术保护点】

【技术特征摘要】
1.一种跟踪Android程序行为的方法,其特征在于包括以下步骤:解包并反汇编所述Android程序;插入监控程序段至反汇编后的Android程序中,所述监控程序段用于监控所述Android程序运行过程中的运行行为;汇编并打包插入了监控程序段的Android程序;运行重新汇编后的Android程序,并通过所述监控程序段获取该Android程序的运行行为数据。2.根据权利要求1所述的跟踪Android程序行为的方法,其特征在于:所述的运行行为包括调用系统函数行为。3.根据权利要求1所述的跟踪Android程序行为的方法,其特征在于:所述运行行为数据包括传入参数、传出参数、以及返回值。4.根据权利要求1所述的跟踪Android程序行为的方法,其特征在于:所述运行重新汇编后的Android程序,具体是:将重新汇编后的Android程序置于设备模拟器或真实设备中运行。5.一种跟踪Android程序行...

【专利技术属性】
技术研发人员:林坚明陈宏伟徐鸣
申请(专利权)人:珠海市君天电子科技有限公司北京金山安全软件有限公司贝壳网际北京安全技术有限公司北京金山网络科技有限公司
类型:发明
国别省市:

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

1