应用程序的运行控制方法及装置的制造方法

文档序号:10613134阅读:352来源:国知局
应用程序的运行控制方法及装置的制造方法
【专利摘要】本发明涉及信息安全技术领域,具体公开了一种应用程序的运行控制方法及装置,其中,该应用程序的运行控制方法,通过在刷机过程中,将第二应用控制数据添加至系统可执行文件,以使特定应用程序通过系统签名文件的验证;所述第二应用控制数据不同于第一应用控制数据,所述第一应用控制数据为系统可执行文件中预置的、用于对应用程序的系统签名文件进行验证的程序。本发明能够确保特定应用程序的正常运行,同时满足用户对各种不具有预设数字签名的应用程序的安装需求,提升用户体验。
【专利说明】
应用程序的运行控制方法及装置
技术领域
[0001]本发明涉及信息安全技术领域,尤其涉及一种应用程序的运行控制方法及装置。
【背景技术】
[0002]随着移动终端技术的不断发展,各软件提供商为移动终端提供各种各样的应用服务,但是移动终端的厂家为了限制同行竞争,利用自身具有操作系统的高级权限,对配置信息进行设置,以禁止不具有预设数字签名的应用程序运行,实现对应用程序的运行控制。但是,这妨碍了用户使用上述设置以外的优秀软件,造成可信任应用程序,如安全卫士、杀毒软件等,无法正常运行,从而妨碍整个操作系统的性能达到最优。而且,当用户根据使用需求预安装某一应用程序时,若该应用程序不具有预设数字签名,则无法正常安装使用,导致用户无法使用相应功能,影响用户体验。

【发明内容】

[0003]鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的应用程序的运行控制方法及装置。
[0004]本发明的一个方面,提供了一种应用程序的运行控制方法,包括:
[0005]在刷机过程中,将第二应用控制数据添加至系统可执行文件,以使特定应用程序通过系统签名文件的验证。
[0006]所述第二应用控制数据不同于第一应用控制数据,所述第一应用控制数据为系统可执行文件中预置的、用于对应用程的系统签名文件进行验证的程序。
[0007]可选地,所述第二应用控制数据为至少一段程序。
[0008]可选地,该方法还包括:执行第二应用控制数据以使所述第一应用控制数据不执行或被删除,或直接返回验证成功。
[0009]可选地,该方法还包括:执行第二应用控制数据以根据所述特定应用程序的签名文件对应用程序的系统签名文件进行验证,以改变第一应用控制数据的验证逻辑。
[0010]可选地,所述系统可执行文件用于对应用程序的系统签名文件进行验证,包括:[0011 ]如果应用程序的系统签名文件验证失败,则禁止系统运行;
[0012]如果应用程序的系统签名文件验证通过,则安装/运行所述应用程序。
[0013]本发明的另一个方面,提供了一种应用程序的运行控制装置,包括:
[0014]配置单元,用于在刷机过程中,将第二应用控制数据添加至系统可执行文件,以使特定应用程序通过系统签名文件的验证;
[0015]所述第二应用控制数据不同于第一应用控制数据,所述第一应用控制数据为系统可执行文件中预置的、用于对应用程的系统签名文件进行验证的程序。
[0016]可选地,所述第二应用控制数据为至少一段程序。
[0017]可选地,所述装置还包括:
[0018]第一执行单元,用于执行第二应用控制数据以使所述第一应用控制数据不执行或被删除,或直接返回验证成功。
[0019]可选地,所述装置还包括:
[0020]第二执行单元,用于执行第二应用控制数据以根据所述特定应用程序的签名文件对应用程序的系统签名文件进行验证,以改变第一应用控制数据的验证逻辑。
[0021]可选地,所述系统可执行文件用于对应用程序的系统签名文件进行验证;
[0022]相应地,所述装置还包括:处理单元,用于在应用程序的系统签名文件验证失败时,禁止系统运行,或,在应用程序的系统签名文件验证通过时,安装/运行所述应用程序。
[0023]本发明实施例提供的应用程序的运行控制方法及装置,通过在刷机过程中,将第二应用控制数据添加至系统可执行文件,以使特定应用程序通过系统签名文件的验证,进而确保该特定应用程序的正常运行,同时满足用户对各种不具有预设数字签名的应用程序的安装需求,提升用户体验。
[0024]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的【具体实施方式】。
【附图说明】
[0025]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0026]图1示出了根据本发明一个实施例的一种应用程序的运行控制方法的流程图;
[0027]图2示出了根据本发明另一实施例的一种应用程序的运行控制方法的流程图;
[0028]图3示出了根据本发明另一实施例的一种应用程序的运行控制方法的流程图;
[0029]图4示出了根据本发明一个实施例的一种应用程序的运行控制装置的结构示意图;
[0030]图5示出了根据本发明另一实施例的一种应用程序的运行控制装置的结构示意图;
[0031]图6示出了根据本发明另一实施例的一种应用程序的运行控制装置的结构示意图。
【具体实施方式】
[0032]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0033]本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。
[0034]本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非被特定定义,否则不会用理想化或过于正式的含义来解释。
[0035]图1示意性示出了本发明一个实施例的应用程序的运行控制方法的流程图。参照图1,本发明实施例的应用程序的运行控制方法具体包括以下步骤:
[0036]步骤S100、在刷机过程中,将第二应用控制数据添加至系统可执行文件,以使特定应用程序通过系统签名文件的验证,其中,所述第二应用控制数据不同于第一应用控制数据,所述第一应用控制数据为系统可执行文件中预置的、用于对应用程的系统签名文件进行验证的程序。
[0037]可以理解,系统签名(又称公钥数字签名、电子签章)是一种类似写在纸上的普通的物理签名,可利用公钥加密领域的技术实现,用于鉴别数字信息的身份的方法。本实施例中的系统签名文件,用于鉴别预安装或运行的应用程序是否能在操作系统中进行安装或运行。
[0038]需要说明的是,本实施例中的系统可执行文件设置在所述操作系统的系统框架层中。在具体应用中,操作系统为了避免受到某些应用程序的侵扰,通过在操作系统的系统框架层中设置用于对应用程序的系统签名文件进行验证的第一应用控制数据。
[0039]其中,所述第二应用控制数据为至少一段程序。
[0040]本实施例中,第二应用控制数据可为至少一段程序,如一段可执行功能代码,以使不具有系统签名文件的特定应用程序通过所述系统签名验证。
[0041]本发明的技术方案,为了实现使不具有系统签名文件的特定应用程序通过所述系统签名验证的目的,通过在运行系统框架层的系统可执行文件中添加第二应用控制数据,以通过第二应用控制数据对系统签名验证结果进行处理,进而确保该特定应用程序的正常运行。在一个具体示例中,通过在系统框架层查找上述系统可执行文件,反编译所述系统可执行文件,得到中间文件,在所述中间文件中植入第二应用控制数据(一段程序或者零碎的插入至系统可执行文件的代码),将植入有所述第二应用控制数据的所述中间文件重新编译并重新打包为新的可执行文件,并所述系统可执行文件替换为所述新的可执行文件,以使所述操作系统根据所述新的可执行文件运行实现对应用程序的运行控制。
[0042]本发明实施例提供的应用程序的运行控制方法,通过在刷机过程中,将第二应用控制数据添加至系统可执行文件,以使特定应用程序通过系统签名文件的验证,确保该特定应用程序的正常运行,同时满足用户对各种不具有预设数字签名的应用程序的安装需求,提升用于体验。
[0043]本发明实施例中,第二应用控制数据具体可在recovery分区中添加至系统可执行文件中。
[0044]具体的,为了实现在运行系统框架层的系统可执行文件中添加第二应用控制数据,需要预先获取操作系统的系统权限。对此,本发明实施例提供了一种通过刷机过程获取操作系统的相应操作权限的解决方案,在提升操作权限方面具有更好的作用。需要说明的是,平台签名是安卓智能终端的生产厂商在提供系统时以最高权限的签名,一般为系统内部使用,消费者无法查看。本发明的技术方案,可以通过刷入recovery分区,通过分区的一些程序获取高权限,具体可以为在ramdisk中设置一个模块,用于执行指定程序以扫描系统分区,扫描后获取所述操作系统的平台签名,再通过对其他程序重新签名,从而得到操作系统的相应操作权限。在获取操作系统的相应操作权限之后,在recovery分区中将所述第二应用控制数据添加至系统框架层的系统可执行文件中。
[0045]在本发明的一个实施例中,所述系统可执行文件用于对应用程序的系统签名文件进行验证,包括:
[0046]如果应用程序的系统签名文件验证失败,则禁止系统运行;
[0047]如果应用程序的系统签名文件验证通过,则安装/运行所述应用程序。
[0048]需要说明的是,本实施例中的系统可执行文件设置在所述操作系统的系统框架层中。在具体应用中,操作系统为了避免受到某些应用程序的侵扰,通过在操作系统的系统框架层中设置用于对应用程序的系统签名文件进行验证的第一应用控制数据。其中,第一应用控制数据是系统可执行文件中在刷机过程之前原有的对应用程序的系统签名文件进行验证的数据,具体的,第一应用控制数据为一段可执行功能代码,该可执行功能代码用于实现对应用程序的系统签名文件的验证,以禁止不具有系统签名文件的应用程序运行。当应用程序在安装运行时,运行系统框架层中的系统可执行文件,对应用程序的系统签名文件进行验证,对于具有系统签名文件的应用程序则验证通过,允许其在操作系统中装/运行,如果应用程序的系统签名文件验证失败,则禁止系统运行,实现对应用程序的运行控制。
[0049]在本发明的一个实施例中,如图2所示,该方法还包括步骤S200;
[0050]步骤S200、执行第二应用控制数据以使所述第一应用控制数据不执行或被删除,或直接返回验证成功。
[0051]在一个具体示例中,通过执行第二应用控制数据以使所述第一应用控制数据不执行,以使特定应用程序通过所述验证。
[0052]举例而言,在进行特定应用程序的安装运行时,如果操作系统运行系统可执行文件,并运行系统可执行文件中的用于对应用程序的系统签名文件进行验证的第一应用控制数据,则当特定应用程序具有系统签名文件时,此时第一应用控制数据返回验证值为I,则该应用程序可以顺利通过签名验证。而当特定应用程序不具有系统签名文件时,此时第一应用控制数据返回验证值为O。针对这种情况,为了实现对不具有系统签名文件的应用程序的安装运行,可通过执行第二应用控制数据,以使所述第一应用控制数据不执行,即使得操作系统运行系统可执行文件时,不执行对应用程序的系统签名文件进行验证的第一应用控制数据,进而确保该特定应用程序的正常运行。
[0053]在一个具体示例中,通过执行第二应用控制数据以使所述第一应用控制数据被删除,以使特定应用程序通过所述验证。
[0054]举例而言,在进行特定应用程序的安装运行时,通过执行第二应用控制数据以删除操作系统的系统可执行文件中的用于对应用程序的系统签名文件进行验证的第一应用控制数据,实现对不具有系统签名文件的特定应用程序的安装运行。
[0055]在一个具体示例中,通过执行第二应用控制数据以使所述第一应用控制数据直接返回验证成功结果,以使特定应用程序通过所述验证。
[0056]对于改变第一应用控制数据的验证结果的情况,举例而言,在进行特定应用程序的安装运行时,操作系统运行系统可执行文件,并运行系统可执行文件中的用于对应用程序的系统签名文件进行验证的第一应用控制数据,当特定应用程序具有系统签名文件时,则该应用程序可以顺利通过签名验证,此时第一应用控制数据返回验证值为I。当特定应用程序不具有系统签名文件时,此时第一应用控制数据返回验证值为O,此时,可通过执行第二应用控制数据,以改变第一应用控制数据的验证结果,即将第一应用控制数据的返回验证值由O变为I,进而实现通过改变第一应用控制数据的验证结果,以使特定应用程序通过系统签名文件验证。
[0057]在本发明的另一个实施例中,如图3所示,该方法还包括步骤S300;
[0058]步骤S300、执行第二应用控制数据以根据所述特定应用程序的签名文件对应用程序的系统签名文件进行验证。
[0059]本发明实施例,通过执行第二应用控制数据以根据特定应用程序的签名文件对应用程序的系统签名文件进行验证,以改变第一应用控制数据的验证逻辑。举例而言,在进行应用程序的安装运行时,操作系统运行系统可执行文件,并运行系统可执行文件中的用于对应用程序的系统签名文件进行验证的第一应用控制数据,若待安装或运行的应用程序为特定应用程序时,则执行第二应用控制数据,所述第二应用控制数据用于以特定应用程序的签名文件作为系统签名文件对特定应用程序进行验证,以实现仅对具有特定签名文件的特定应用程序通过系统签名文件验证,进而避免其他应用程序的运行安装,在满足用户使用需求的同时,确保操作系统不安装或者运行不明应用程序,从而保证操作性系统的安全。
[0060]对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
[0061]图4示意性示出了本发明一个实施例的应用程序的运行控制装置的结构示意图。参照图4,本发明实施例的应用程序的运行控制装置具体包括配置单元400,用于在刷机过程中,将第二应用控制数据添加至系统可执行文件,以使特定应用程序通过系统签名文件的验证;其中,所述第二应用控制数据不同于第一应用控制数据,所述第一应用控制数据为系统可执行文件中预置的、用于对应用程的系统签名文件进行验证的程序。
[0062]可以理解,系统签名(又称公钥数字签名、电子签章)是一种类似写在纸上的普通的物理签名,可利用公钥加密领域的技术实现,用于鉴别数字信息的身份的方法。本实施例中的系统签名文件,用于鉴别预安装或运行的应用程序是否能在操作系统中进行安装或运行。
[0063]需要说明的是,本实施例中的系统可执行文件设置在所述操作系统的系统框架层中。在具体应用中,操作系统为了避免受到某些应用程序的侵扰,通过在操作系统的系统框架层中设置用于对应用程序的系统签名文件进行验证的第一应用控制数据。
[0064]在本发明的一个实施例中,所述第二应用控制数据为至少一段程序。本实施例中,第二应用控制数据可为至少一段程序,如一段可执行功能代码,以使不具有系统签名文件的特定应用程序通过所述系统签名验证。
[0065]本发明实施例提供的应用程序的运行控制装置,配置单元400通过在刷机过程中,将第二应用控制数据添加至系统可执行文件,以使特定应用程序通过系统签名文件的验证,进而确保该特定应用程序的正常运行,同时满足用户对各种不具有预设数字签名的应用程序的安装需求,提升用户体验。
[0066]在本发明的一个实施例中,如图5所示,所述装置还包括第一执行单元500,所述第一执行单元500,用于执行第二应用控制数据以使所述第一应用控制数据不执行或被删除,或直接返回验证成功。
[0067]在本发明的一个实施例中,如图6所示,所述装置还包括第二执行单元600,所述第二执行单元600,用于执行第二应用控制数据以根据所述特定应用程序的签名文件对应用程序的系统签名文件进行验证。
[0068]在本发明的一个实施例中,所述系统可执行文件用于对应用程序的系统签名文件进行验证;相应地,所述装置还包括附图中未示出的处理单元,所述处理单元,用于在应用程序的系统签名文件验证失败时,禁止系统运行,或,在应用程序的系统签名文件验证通过时,安装/运行所述应用程序。
[0069]对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0070]此外,本发明另一实施例还提供了一种终端设备,包括如上任一实施例所述的应用程序的运行控制装置。以如图3所示的应用程序的运行控制装置为例进行说明,所述终端设备中的应用程序的运行控制装置,具体包括配置单元400,所述配置单元用于在刷机过程中,将第二应用控制数据添加至系统可执行文件,以取代第一应用控制数据对应用程序的系统签名文件进行验证,通过上述动作以使特定应用程序通过所述验证。该终端设备由于包括上述任意一种实施例中的应用程序的运行控制装置,因而可以解决同样的技术问题,并取得相同的技术效果。
[0071]本发明实施例提供的应用程序的运行控制方法及装置,通过在刷机过程中,将第二应用控制数据添加至系统可执行文件,以使特定应用程序通过系统签名文件的验证,进而确保该特定应用程序的正常运行,同时满足用户对各种不具有预设数字签名的应用程序的安装需求,提升用户体验。
[0072]在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
[0073]在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0074]类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循【具体实施方式】的权利要求书由此明确地并入该【具体实施方式】,其中每个权利要求本身都作为本发明的单独实施例。
[0075]本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0076]此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
[0077]本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的网关、代理服务器、系统中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
[0078]应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
【主权项】
1.一种应用程序的运行控制方法,其特征在于,该方法包括下述步骤: 在刷机过程中,将第二应用控制数据添加至系统可执行文件,以使特定应用程序通过系统签名文件的验证。2.根据权利要求1所述的方法,其特征还在于,所述第二应用控制数据不同于第一应用控制数据,所述第一应用控制数据为系统可执行文件中预置的、用于对应用程的系统签名文件进行验证的程序。3.根据权利要求1或2所述的方法,其特征还在于,该方法还包括:执行第二应用控制数据以使所述第一应用控制数据不执行,或被删除,或直接返回验证成功。4.根据权利要求1或2所述的方法,其特征还在于,该方法还包括:执行第二应用控制数据以根据所述特定应用程序的签名文件对应用程序的系统签名文件进行验证,以改变第一应用控制数据的验证逻辑。5.根据权利要求1-4任一项所述的方法,其特征还在于,所述系统可执行文件用于对应用程序的系统签名文件进行验证,包括: 如果应用程序的系统签名文件验证失败,则禁止系统运行; 如果应用程序的系统签名文件验证通过,则安装/运行所述应用程序。6.一种应用程序的运行控制装置,其特征在于,该装置包括: 配置单元,用于在刷机过程中,将第二应用控制数据添加至系统可执行文件,以使特定应用程序通过系统签名文件的验证。7.根据权利要求6所述的装置,其特征还在于,所述第二应用控制数据不同于第一应用控制数据,所述第一应用控制数据为系统可执行文件中预置的、用于对应用程的系统签名文件进行验证的程序。8.根据权利要求6或7所述的装置,其特征还在于,所述装置还包括: 第一执行单元,用于执行第二应用控制数据以使所述第一应用控制数据不执行或被删除,或直接返回验证成功。9.根据权利要求6或7所述的装置,其特征还在于,所述装置还包括: 第二执行单元,用于执行第二应用控制数据以根据所述特定应用程序的签名文件对应用程序的系统签名文件进行验证,以改变第一应用控制数据的验证逻辑。10.根据权利要求6-9任一项所述的装置,其特征还在于,所述系统可执行文件用于对应用程序的系统签名文件进行验证; 相应地,所述装置还包括: 处理单元,用于在应用程序的系统签名文件验证失败时,禁止系统运行,或,在应用程序的系统签名文件验证通过时,安装/运行所述应用程序。
【文档编号】G06F21/12GK105975815SQ201610282353
【公开日】2016年9月28日
【申请日】2016年4月29日
【发明人】纪海军
【申请人】北京奇虎科技有限公司, 北京驰马科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1