一种控制应用内功能运行的方法及装置制造方法及图纸

技术编号:18668475 阅读:21 留言:0更新日期:2018-08-14 20:41
本申请提供一种控制应用内功能运行的方法及装置,方法包括:若检测到针对当前应用程序中功能控件的操作,则获取所述应用程序的当前签名信息;将所述当前签名信息与运行时签名信息进行比对,所述运行时签名信息用于表征所述应用程序的开发方;若所述比对的结果一致,则允许响应所述操作。本申请可以保证运行的应用程序未被反编译,进而降低应用程序的使用风险,提高用户的信息安全性。

A method and device for controlling the operation of internal functions

The present application provides a method and apparatus for controlling the operation of functions within an application, including: acquiring the current signature information of the application if an operation against a functional control in the current application is detected; comparing the current signature information with the runtime signature information, the runtime signature information is used for A developer representing the application is allowed to respond to the operation if the results of the alignment are consistent. This application can ensure that the running application has not been decompiled, thereby reducing the risk of the application and improving the user's information security.

【技术实现步骤摘要】
一种控制应用内功能运行的方法及装置
本申请涉及计算机
,尤其涉及一种控制应用内功能运行的方法及装置。
技术介绍
随着移动终端技术的快速发展,各类应用程序大量涌现,对应用程序的盗版和重打包现象日益严重。例如,android系统中的安装包文件apk能够很容易地被一些反编译工具反编译为易于阅读的java代码,使得某些非法开发者可以实施对应用程序的盗版或核心功能的逆向工程,导致应用程序出现使用风险,甚至威胁到用户的信息安全。为了避免应用程序的反编译,现有技术中通常采用对apk进行加密的方式来对应用程序进行加固。然而,由于这种加密方式需要对apk进行二次打包,因此会影响应用程序的运行效率,并且会提高应用程序的经济成本。
技术实现思路
有鉴于此,本申请提供一种控制应用内功能运行的方法及装置,可以降低应用程序的使用风险,提高用户的信息安全性。具体地,本申请是通过如下技术方案实现的:根据本申请的第一方面,提出了一种控制应用内功能运行的方法,包括:若检测到针对当前应用程序中功能控件的操作,则获取所述应用程序的当前签名信息;将所述当前签名信息与运行时签名信息进行比对,所述运行时签名信息用于表征所述应用程序的开发方;若所述比对的结果一致,则允许响应所述操作。在一实施例中,所述将所述当前签名信息与运行时签名信息进行比对,包括:对所述当前签名信息采用预设加密算法进行加密,得到第一加密签名信息;获取运行时签名信息对应的第二加密签名信息,所述第二加密签名信息为对所述运行时签名信息基于预设加密算法进行加密得到的信息;将所述第一加密签名信息与所述第二加密签名信息进行比对。在一实施例中,所述将所述当前签名信息与运行时签名信息进行比对之前,所述方法还包括:获取运行时签名信息对应的第二加密签名信息,所述第二加密签名信息为对所述运行时签名信息基于预设加密算法进行加密得到的信息;采用预设解密算法对所述第二加密签名信息进行解密,得到所述运行时签名信息,所述预设解密算法与所述预设加密算法相对应。在一实施例中,所述将所述当前签名信息与运行时签名信息进行比对之前,所述方法还包括:获取所述应用程序的应用包管理对象;从所述应用包管理对象中获取运行时包信息;从所述运行时包信息中提取所述应用程序的运行时签名信息。在一实施例中,所述方法还包括:若所述比对的结果不一致,则禁止响应所述操作。在一实施例中,所述方法还包括:生成用于表示所述应用程序经过反编译的提示信息。根据本申请的第二方面,提出了一种控制应用内功能运行的装置,包括:当前签名信息获取模块,用于当检测到针对当前应用程序中功能控件的操作时,获取所述应用程序的当前签名信息;签名信息比对模块,用于将所述当前签名信息与运行时签名信息进行比对,所述运行时签名信息用于表征所述应用程序的开发方;操作响应允许模块,用于当所述比对的结果一致时,允许响应所述操作。在一实施例中,所述签名信息比对模块,包括:签名信息加密单元,用于对所述当前签名信息采用预设加密算法进行加密,得到第一加密签名信息;第一签名获取单元,用于获取运行时签名信息对应的第二加密签名信息,所述第二加密签名信息为对所述运行时签名信息基于预设加密算法进行加密得到的信息;加密签名比对单元,用于将所述第一加密签名信息与所述第二加密签名信息进行比对。在一实施例中,所述装置还包括:加密签名解密模块;所述加密签名解密模块,包括:第二签名获取单元,用于获取运行时签名信息对应的第二加密签名信息,所述第二加密签名信息为对所述运行时签名信息基于预设加密算法进行加密得到的信息;加密签名解密单元,用于采用预设解密算法对所述第二加密签名信息进行解密,得到所述运行时签名信息,所述预设解密算法与所述预设加密算法相对应。在一实施例中,所述装置还包括:运行签名获取模块,所述运行签名获取模块包括:管理对象获取单元,用于获取所述应用程序的应用包管理对象;包信息获取单元,用于从所述应用包管理对象中获取运行时包信息;运行签名提取单元,用于从所述运行时包信息中提取所述应用程序的运行时签名信息。在一实施例中,所述装置还包括:操作响应禁止模块,用于当所述比对的结果不一致时,禁止响应所述操作。在一实施例中,所述装置还包括:提示信息生成模块,用于生成用于表示所述应用程序经过反编译的提示信息。根据本申请的第三方面,提出了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述任一所述的控制应用内功能运行的方法。由以上技术方案可见,本申请通过在检测到针对当前应用程序中功能控件的操作时,获取所述应用程序当前的签名信息,并将所述当前签名信息与运行时签名信息进行比对,进而在所述比对的结果一致时,确定所述应用程序未经过反编译,允许响应所述操作,可以保证运行的应用程序未被反编译,进而降低应用程序的使用风险,提高用户的信息安全性。附图说明图1是本申请一示例性实施例示出的一种控制应用内功能运行的方法的流程图;图2是本申请一示例性实施例示出的如何比对当前签名信息和运行时签名信息的流程图;图3是本申请又一示例性实施例示出的一种控制应用内功能运行的方法的流程图;图4是本申请又一示例性实施例示出的一种控制应用内功能运行的方法的流程图;图5是本申请又一示例性实施例示出的一种控制应用内功能运行的方法的流程图;图6是本申请一示例性实施例示出的一种控制应用内功能运行的装置的结构框图;图7是本申请又一示例性实施例示出的一种控制应用内功能运行的装置的结构框图;图8是本申请又一示例性实施例示出的一种控制应用内功能运行的装置的结构框图;图9是本申请又一示例性实施例示出的一种控制应用内功能运行的装置的结构框图;图10是本申请又一示例性实施例示出的一种控制应用内功能运行的装置的结构框图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一加密签名信息也可以被称为第二加密签名信息,类似地,第二加密签名信息也可以被称为第一加密签名信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。移动终端技术的快速发展使得各类应用程序大量涌现,同时,对应用程序的盗版和重打包现象日益严重。例如,android系统中的安装包文件apk能够很容易地被一些反编译工具反编译为易于阅读的java代码,使得某些非法开发者可以实施对应用程序的盗版或核心功能的逆向工程,导致应用程序出现使用风险,甚至威胁到用户本文档来自技高网...

【技术保护点】
1.一种控制应用内功能运行的方法,其特征在于,包括:若检测到针对当前应用程序中功能控件的操作,则获取所述应用程序的当前签名信息;将所述当前签名信息与运行时签名信息进行比对,所述运行时签名信息用于表征所述应用程序的开发方;若所述比对的结果一致,则允许响应所述操作。

【技术特征摘要】
1.一种控制应用内功能运行的方法,其特征在于,包括:若检测到针对当前应用程序中功能控件的操作,则获取所述应用程序的当前签名信息;将所述当前签名信息与运行时签名信息进行比对,所述运行时签名信息用于表征所述应用程序的开发方;若所述比对的结果一致,则允许响应所述操作。2.根据权利要求1所述的方法,其特征在于,所述将所述当前签名信息与运行时签名信息进行比对,包括:对所述当前签名信息采用预设加密算法进行加密,得到第一加密签名信息;获取运行时签名信息对应的第二加密签名信息,所述第二加密签名信息为对所述运行时签名信息基于预设加密算法进行加密得到的信息;将所述第一加密签名信息与所述第二加密签名信息进行比对。3.根据权利要求1所述的方法,其特征在于,所述将所述当前签名信息与运行时签名信息进行比对之前,所述方法还包括:获取运行时签名信息对应的第二加密签名信息,所述第二加密签名信息为对所述运行时签名信息基于预设加密算法进行加密得到的信息;采用预设解密算法对所述第二加密签名信息进行解密,得到所述运行时签名信息,所述预设解密算法与所述预设加密算法相对应。4.根据权利要求1所述的方法,其特征在于,所述将所述当前签名信息与运行时签名信息进行比对之前,所述方法还包括:获取所述应用程序的应用包管理对象;从所述应用包管理对象中获取运行时包信息;从所述运行时包信息中提取所述应用程序的运行时签名信息。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:若所述比对的结果不一致,则禁止响应所述操作。6.根据权利要求5所述的方法,其特征在于,所述方法还包括:生成用于表示所述应用程序经过反编译的提示信息。7.一种控制应用内功能运行的装置,其特征在于,包括:当前签名信息获取模块,用于当检测到针对当前应用程序中功能控件的操作时,获取所述应用程序的当前签名信息;签名信息比对模块,用于将所述当前签名信息与运行时...

【专利技术属性】
技术研发人员:许圣霖
申请(专利权)人:北京三快在线科技有限公司
类型:发明
国别省市:北京,11

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

1