Android应用的日志审计方法及系统的制作方法_2

文档序号:9888020阅读:来源:国知局

[0048]图2为本发明一实施方式的日志审计系统的结构示意图;
[0049]图3是本发明的日志审计系统的一具体实施例的示意图。
【具体实施方式】
[0050]下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
[0051]本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“親接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
[0052]本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
[0053]本技术领域技术人员可以理解,这里所使用的“终端”、“终端设备”既包括无线信号接收器的设备,其仅具备无发射能力的无线信号接收器的设备,又包括接收和发射硬件的设备,其具有能够在双向通信链路上,执行双向通信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备;PCS(Personal Communicat1ns Service,个人通信系统),其可以组合语音、数据处理、传真和/或数据通信能力;PDA(Personal Digital Assistant,个人数字助理),其可以包括射频接收器、寻呼机、互联网/内联网访问、网络浏览器、记事本、日历和/或GPS(Global Posit1ning System,全球定位系统)接收器;常规膝上型和/或掌上型计算机或其他设备,其具有和/或包括射频接收器的常规膝上型和/或掌上型计算机或其他设备。这里所使用的“终端”、“终端设备”可以是便携式、可运输、安装在交通工具(航空、海运和/或陆地)中的,或者适合于和/或配置为在本地运行,和/或以分布形式,运行在地球和/或空间的任何其他位置运行。这里所使用的“终端”、“终端设备”还可以是通信终端、上网终端、音乐/视频播放终端,例如可以是PDA、MID(Mobile Internet Device,移动互联网设备)和/或具有音乐/视频播放功能的移动电话,也可以是智能电视、机顶盒等设备。
[0054]本技术领域技术人员可以理解,这里所使用的远端网络设备,其包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云。在此,云由基于云计算(Cloud Computing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。本发明的实施例中,远端网络设备、终端设备与WNS服务器之间可通过任何通信方式实现通信,包括但不限于,基于3GPP、LTE、WMAX的移动通信、基于TCP/IP、UDP协议的计算机网络通信以及基于蓝牙、红外传输标准的近距无线传输方式。
[0055]图1为本发明一实施方式的日志审计方法的流程示意图。如图1所示,该方法包括以下步骤:
[0056]Sll:对Android应用的安装包进行反编译,得到反编译文件;
[0057]S12:根据所述反编译文件中的日志输出函数得到反编译日志信息和所述安装包在运行时可能得到的运行日志信息;
[0058]S13:对所述反编译日志信息进行还原,得到原始日志信息;
[0059]S14:将所述原始日志信息和所述运行日志信息统一输出,得到最终日志信息;
[0000] S15:根据审计日志信息白名单对所述最终日志信息进行过滤,确定待审计的日志信息;
[0061]S16:利用所述待审计的日志信息进行Android应用的审计。
[0062]高级语言源程序经过编译变成可执行文件,反编译就是将可执行文件变为高级语言源程序的过程。但是通常不能把可执行文件变成高级语言源代码,只能转换成汇编程序。SPC++、C语言一般不能反编译为源代码,只能反编译为汇编语言;C#、Java等高级语言,尤其是需要运行环境的语言,如果没有混淆,只要在编译为中间语言后,加上保留的元信息(记录类名、成员函数等信息)就可以反向生成源代码。如果代码进行了混淆,则只需根据混淆时产生的映射文件对混淆过的类名、变量名等进行还原,即可得到源代码。因此可以对Android应用安装包进行反编译以形成源代码。
[0063]本发明实施方式对待审计的Android应用的安装包进行反编译,得到其反编译文件,以此来获取其反编译文件的日志信息和该安装包运行时可能产生的日志信息,并对反编译文件的日志信息进行还原得到原始的日志信息,将该安装包运行时可能产生的日志信息和原始的日志信息统一输出,与白名单对比来确定需要审计的日志信息,对绝大多数An droid应用来说该方法都是可用的,提高了An droid应用日志审计的覆盖率。且由于版本更新时应用内大部分的代码内容都不会发生变化,因此只要进行日志审计的Android应用安装包在此之前进行过审计并把通过审计的日志信息保存在了审计日志信息白名单中,该Android应用在本次日志信息确定过程中需要审计的日志信息数量相对于现有技术需要人工检测的方式来说就大大减少,节省了重复检测的时间,提高了单个Android应用日志审计的效率。
[0064]图1所示的日志审计方法,其中步骤Sll对Android应用的安装包进行反编译,得到反编译文件包括:
[0065]Sm:解压所述安装包,得到dex可执行文件;
[0066]S112:对所述dex可执行文件进行反编译,得到smali反编译文件。
[0067]执行完该步骤后可以继续执行步骤S12-S16。
[0068]图1所示的日志审计方法,其中步骤S12根据所述反编译文件中的日志输出函数得到反编译日志信息和所述安装包在运行时可能得到的运行日志信息包括:
[0069]遍历所述反编译文件,定位所述反编译文件的日志输出函数,获取所述日志输出函数输出的反编译日志信息和所述安装包在运行时可能得到的运行日志信息。
[0070]图1所示的日志审计方法,其中步骤S13对所述反编译日志信息进行还原,得到原始日志信息包括:
[0071]S131:根据所述安装包中的资源文件得到所述安装包的待审计版本;
[0072]S132:根据所述待审计版本的版本信息确定所述安装包在所述待审计版本下的映射文件的地址并下载所述映射文件;
[0073]S133:根据所述映射文件对所述反编译日志信息进行还原,得到原始日志信息。
[007
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1