可执行文件运行控制方法及装置制造方法
【专利摘要】本发明提供一种可执行文件运行控制方法,包括以下步骤:通过远程通信端口校验并确认本机已经合法授权;通过本机维持的通信链路向目标终端推送可执行文件以备执行;通过通信链路调用可执行文件以运行其第一功能模块,在第一功能模块校验并确认调用合法时,可执行文件的第二功能模块运行。本发明还提供一种可执行文件运行控制装置。通过上述方式,能够对可执行文件的运行进行控制,通过校验防止可执行文件被非法运行,进而实现对可执行文件的保护,避免其被破解和滥用。
【专利说明】可执行文件运行控制方法及装置
【技术领域】
[0001]本发明涉及计算机领域,具体而言,本发明涉及一种可执行文件运行控制方法及
>J-U ρ?α装直。
【背景技术】
[0002]随着互联网技术的不断发展,各种应用程序被开发应用,应用程序在运行过程中,当存在数据交互时,通常对交互双方进行合法性验证以确保交互的安全。目前,当两个应用程序进行交互时,一般通过调用签名来验证对方的合法性。
[0003]应用程序的可执行文件为操作的真正执行者,可执行文件是一种可在操作系统存储空间中浮动定位的可直接运行的程序,如=MiClOSOft操作系统,其可执行文件格式包括ΜΖ、NE、PE ;Linux操作系统,其可执行文件格式包括a.0ut、COFF, ELF。可执行文件与安装包相比,其不需要安装,可直接运行,但直接运行会导致可执行文件的滥用,给程序开发者带来损失。
【发明内容】
[0004]本发明的目的旨在至少解决上述技术缺陷之一,特别是能够对可执行文件的运行进行控制,防止可执行文件被非法运行。
[0005]本发明提供一种可执行文件运行控制方法,包括以下步骤:通过远程通信端口校验并确认本机已经合法授权;通过本机维持的通信链路向目标终端推送可执行文件以备执行;通过通信链路调用可执行文件以运行其第一功能模块,在第一功能模块校验并确认调用合法时,可执行文件的第二功能模块运行。
[0006]其中,校验并确认本机已经合法授权的步骤,具体为:发送包含本机特征信息的请求,获取响应于该请求的本机特征信息位于白名单中的本机合法消息。
[0007]其中,本机特征信息为唯一标识本机特征的加密信息。
[0008]其中,推送可执行文件并将其修改为可执行,以备执行。
[0009]其中,通过通信链路调用可执行文件以运行其第一功能模块的步骤,具体包括:调用可执行文件以运行其第一功能模块,获取第一功能模块返回的包括调用时间及目标终端标识的密串,对密串加密,再次调用可执行文件以运行其第一功能模块并发送加密后的密串至可执行文件。
[0010]其中,第一功能模块用于产生密串,其校验加密后的密串与再次调用产生的密串中的调用时间间隔在预设时间内、目标终端标识一致时,可执行文件的第二功能模块运行。
[0011]其中,第二功能模块用于获取目标终端的Root权限。
[0012]其中,本机具有与目标终端建立通信链路的连接端口。
[0013]其中,连接端口为蓝牙、WiFi和/或USB接口。
[0014]其中,确认本机已经合法授权的步骤或确认调用合法的步骤,当无法确认时,终止执行各自后续的步骤。
[0015]本发明还提供一种可执行文件运行控制方法,包括以下步骤:通过本地维持的通信链路接收调用可执行文件的命令;根据调用命令,校验并确认调用是否合法;在校验并确认调用合法时,执行可执行文件的功能。
[0016]其中,根据调用命令,校验并确认调用是否合法的步骤,具体包括:根据调用获取包括调用时间及本地标识的密串,通过通信链路发送密串,接收该通信链路返回的加密后的密串并根据再次调用获取包括调用时间及本地标识的密串,解密加密后的密串,校验解密后的密串与再次调用获取的密串中的调用时间间隔是否在预设时间内、本地标识是否一致。
[0017]其中,当调用时间间隔不在预设时间内,终止本地标识的校验。
[0018]其中,执行可执行文件的功能的步骤后,显示执行成功与否的信息或通过通信链路反馈执行成功与否的信息。
[0019]本发明提供一种可执行文件运行控制装置,包括:校验模块,用于通过远程通信端口校验并确认本机已经合法授权;推送模块,用于校验模块确认本机已经合法授权时,通过本机维持的通信链路向目标终端推送可执行文件以备执行;调用模块,用于通过通信链路调用可执行文件以运行其第一功能模块,在第一功能模块校验并确认调用合法时,可执行文件的第二功能模块运行。
[0020]其中,校验模块具体用于:发送包含本机特征信息的请求,获取响应于该请求的本机特征信息位于白名单中的本机合法消息。
[0021]其中,本机特征信息为唯一标识本机特征的加密信息。
[0022]其中,推送模块进一步用于:推送可执行文件并将其修改为可执行,以备执行。
[0023]其中,调用模块具体用于:调用可执行文件以运行其第一功能模块,获取第一功能模块返回的包括调用时间及目标终端标识的密串,对密串加密,再次调用可执行文件以运行其第一功能模块并发送加密后的密串至可执行文件。
[0024]其中,第一功能模块用于产生密串,其校验加密后的密串与再次调用产生的密串中的调用时间间隔在预设时间内、目标终端标识一致时,可执行文件的第二功能模块运行。
[0025]其中,第二功能模块用于获取目标终端的Root权限。
[0026]其中,本机具有与目标终端建立通信链路的连接端口。
[0027]其中,连接端口为蓝牙、WiFi和/或USB接口。
[0028]本发明还提供一种可执行文件运行控制装置,包括:接收模块,用于通过本地维持的通信链路接收调用可执行文件的命令;第一功能模块,用于根据调用命令,校验并确认调用是否合法;第二功能模块,用于在校验并确认调用合法时,执行可执行文件的功能。
[0029]其中,第一功能模块具体用于:根据调用获取包括调用时间及本地标识的密串,通过通信链路发送密串,接收该通信链路返回的加密后的密串并根据再次调用获取包括调用时间及本地标识的密串,解密加密后的密串,校验解密后的密串与再次调用获取的密串中的调用时间间隔是否在预设时间内、本地标识是否一致。
[0030]其中,当调用时间间隔不在预设时间内,本地标识的校验终止。
[0031]其中,装置包括:反馈模块,用于第二功能模块执行可执行文件的功能后,显示执行成功与否的信息或通过通信链路反馈执行成功与否的信息。
[0032]相较于现有技术,本发明具有以下优点:
[0033]1.对应用程序所在客户端的合法性进行校验,即对应用程序的运行环境进行校验,可确保应用程序运行在授权的客户端上,避免应用程序被随意安装使用。
[0034]2.应用程序发送可执行文件至目标终端,在可执行文件执行前,校验其运行是否为应用程序调用,只有应用程序的调用,才能运行可执行文件,此校验可防止可执行文件被随意抠出,任意滥用。
[0035]在校验过程中,两次调用可执行文件,应用程序对其首次调用可执行文件返回的密串进行加密,可执行文件再对加密的密串进行解密,比较解密后的密串与再次调用可执行文件产生的密串中的目标终端标识的一致性。通过上述加密解密、一致性判断增强校验的准确性。
[0036]3.设置多重校验,一是校验应用程序的运行环境是否合法,二是校验应用程序是否合法,三是校验使可执行文件执行的命令是否合法,通过三重校验,增加校验的层数和难度,保护程序开发者的利益。
[0037]4.应用程序可对多个目标终端发送可执行文件,即对多个目标终端进行批量处理,以提高应用程序的使用效率。
[0038]简而言之,本发明控制可执行文件运行的方法可对应用程序及其推送的可执行文件进行高效保护,避免破解和滥用。
[0039]本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
【专利附图】
【附图说明】
[0040]本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
[0041]图1为本发明系统结构原理图;
[0042]图2为本发明可执行文件运行控制方法一实施例的流程示意图;
[0043]图3为本发明可执行文件运行控制方法另一实施例的流程示意图;
[0044]图4为本发明可执行文件运行控制方法再一实施例的流程示意图;
[0045]图5为本发明可执行文件运行控制装置一实施例的结构示意图。
【具体实施方式】
[0046]下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
[0047]本【技术领域】技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
[0048]本【技术领域】技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
[0049]本【技术领域】技术人员可以理解,这里所使用的“终端”、“终端设备”既包括无线信号接收器的设备,其仅具备无发射能力的无线信号接收器的设备,又包括接收和发射硬件的设备,其具有能够在双向通信链路上,执行双向通信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备;PCS (Personal Communicat1ns Service,个人通信系统),其可以组合语音、数据处理、传真和/或数据通信能力;PDA (Personal Digital Assistant,个人数字助理),其可以包括射频接收器、寻呼机、互联网/内联网访问、网络浏览器、记事本、日历和/或GPS (Global Posit1ning System,全球定位系统)接收器;常规膝上型和/或掌上型计算机或其他设备,其具有和/或包括射频接收器的常规膝上型和/或掌上型计算机或其他设备。这里所使用的“终端”、“终端设备”可以是便携式、可运输、安装在交通工具(航空、海运和/或陆地)中的,或者适合于和/或配置为在本地运行,和/或以分布形式,运行在地球和/或空间的任何其他位置运行。这里所使用的“终端”、“终端设备”还可以是通信终端、上网终端、音乐/视频播放终端,例如可以是PDA、MID (MobiIe Internet Device,移动互联网设备)和/或具有音乐/视频播放功能的移动电话,也可以是智能电视、机顶盒等设备。
[0050]本【技术领域】技术人员可以理解,这里所使用的远端网络设备,其包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云。在此,云由基于云计算(Cloud Computing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。本发明的实施例中,远端网络设备、终端设备与WNS服务器之间可通过任何通信方式实现通信,包括但不限于,基于3GPP、LTE、WIMAX的移动通信、基于TCP/IP、UDP协议的计算机网络通信以及基于蓝牙、红外传输标准的近距无线传输方式。
[0051]本领域技术人员应当理解,本发明所称的“应用”、“应用程序”、“应用软件”以及类似表述的概念,是业内技术人员所公知的相同概念,是指由一系列计算机指令及相关数据资源有机构造的适于电子运行的计算机软件。除非特别指定,这种命名本身不受编程语言种类、级别,也不受其赖以运行的操作系统或平台所限制。理所当然地,此类概念也不受任何形式的终端所限制。
[0052]请参阅图1,图1为本发明系统结构原理图,如图1所示,包括服务器端11、客户端12及目标终端13。
[0053]图1所示系统为基于网络环境所构建的系统,服务器端11实现对客户端12的校验,客户端12为安装有本发明应用程序的电脑,目标终端13为执行应用程序功能的移动终端(如:手机)。其中,服务器端11可为云端,客户端12为运行Linux系统的电脑,目标终立而13为运彳丁 Android系统的终立而。
[0054]本实施例涉及Linux系统、Android系统,但不局限于该系统,本领域技术人员可以合理预见,诸如Windows、苹果等操作系统,均可适用本实施例所构思的方案。且客户端12还可为ARM机,与多个手机相连接。
[0055]客户端12通过远程通信端口与服务器端11连接,且通过通信链路与至少一个目标终端13连接。客户端12为与目标终端13通信,在客户端12中配置有相应的目标终端13驱动程序和adb (Android Debug Bridge,安卓调试桥)等相关程序,且客户端12具有与目标终端13建立通信链路的连接端口,如蓝牙、WiFi和/或USB接口。
[0056]请参阅图2,图2为本发明可执行文件运行控制方法一实施例的流程示意图,如图2所示,包括以下步骤:
[0057]S21,通过远程通信端口校验并确认本机已经合法授权。
[0058]本实施例的本机为安装有本发明应用程序的电脑,本机通过其远程通信端口与服务器交互,通过服务器来校验其是否为合法的客户端,只有授权的客户端才能运行该应用程序。
[0059]S22,通过本机维持的通信链路向目标终端推送可执行文件以备执行。
[0060]当本机被确认为合法,其可向目标终端推送可执行文件,由可执行文件完成其功倉泛。
[0061]S23,通过通信链路调用可执行文件以运行其第一功能模块,在第一功能模块校验并确认调用合法时,可执行文件的第二功能模块运行。
[0062]在可执行文件执行其第二功能模块前,即执行应用程序的功能前,需校验对可执行文件的调用是否由应用程序发出,当确认对可执行文件的调用是由应用程序发出时,第二功能模块才运行。具体为,利用本机对第一功能模块的调用及第一功能模块的判断,实现调用是否合法的校验。
[0063]请参阅图3,图3为本发明可执行文件运行控制方法另一实施例的流程示意图,如图3所示,包括以下步骤:
[0064]S31,通过本地维持的通信链路接收调用可执行文件的命令。
[0065]S32,根据调用命令,校验并确认调用是否合法。
[0066]S33,在校验并确认调用合法时,执行可执行文件的功能。
[0067]与图2所示的实施例结合,本实施例目标终端的可执行文件与图2所示实施例中的本机配合,完成调用是否合法的校验,当调用命令由图2所示实施例的应用程序发出时,执行可执行文件需对目标终端实现的功能。
[0068]请参阅图4,图4为本发明可执行文件运行控制方法再一实施例的流程示意图,如图4所示,包括以下步骤:
[0069]S41,通过远程通信端口校验并确认本机已经合法授权。
[0070]本实施例的方法基于图1所示的系统,客户端12分别与服务器端11和目标终端13交互。本实施例所述的本机为客户端12,在客户端12中的应用程序启动时,需向服务器端11请求,校验其运行环境是否合法。
[0071]其中,客户端12的工作具体如下:
[0072]A.发送包含客户端12特征信息的校验请求。
[0073]特征信息为唯一标识客户端12的信息,包括mac地址、主板ID号和/或硬盘序列号。客户端12具有诸多特征信息,并不局限于上述所列的几种。本实施例选定特征信息的标准较为灵活,以利用这些信息可以识别客户端12即可,优选mac地址。但可以将多个特征信息进行结合,以提高识别的准确性。
[0074]该特征信息的获取由应用程序实现,当应用运行时,获取特征信息并发送至服务器端11以判断其运行环境是否合法。
[0075]B.获取响应于该请求的客户端12合法的消息。
[0076]其中,服务器端11的校验过程具体如下:
[0077]A.通过远程通信端口获取包含客户端12特征信息的请求。
[0078]B.判断特征信息是否在预设的白名单中。
[0079]服务器端11中预设有白名单,白名单中有授权运行应用程序的客户端信息,各客户端信息均包括唯一标识客户端特征的信息。服务器端11收到客户端12发送的请求后,在白名单中查找是否存在请求中的特征信息。
[0080]C.当特征信息在预设的白名单中时,确认客户端12合法授权,并通过远程通信端口返回客户端12合法的消息。
[0081]当白名单中没有特征信息时,同样通过远程通信端口返回客户端12不合法的消肩、O
[0082]通过上述阐述,客户端12与服务器端11交互,可完成客户端12是否合法的校验。当客户端12中的应用程序接收到服务器端11返回的消息后,若客户端12是非法的,则停止运行。此校验使该应用程序运行在特定的客户端上,白名单外的客户端,则不允许其使用该应用程序。
[0083]在此校验过程中,对应用程序发送的特征信息进行加密,即应用程序发送的请求为加密请求,服务器端11接收该请求后,进行解密,然后再判断特征信息是否在预设的白名单中。且服务器端11返回消息时,也可对消息进行加密。其中,不同的应用程序具有不同的Key。
[0084]在其他实施例中,也可请求不加密,只对服务器端11返回的消息进行加密,客户端12进行解密。
[0085]上述加密采用AES (Advanced Encrypt1n Standard,高级加密标准)进行加密,为对称加密,加密和解密双方的密钥相同。AES在软件和硬件上都能快速地加解密,易于实作且需要很少的存储器。
[0086]采用上述加密,可验证应用程序的合法性,同时还可对交互的数据进行保护。
[0087]S42,通过本机维持的通信链路向目标终端推送可执行文件以备执行。
[0088]当应用程序接收到服务器端11返回的客户端12合法的消息时,确认本机已经合法授权,继续运行。检测是否有目标终端13与客户端12连接,当目标终端13与客户端12之间存在通信链路时,应用程序发送可执行文件至目标终端13,存放在/bin目录。其中,应用程序可同时给多个目标终端发送可执行文件。其中,可执行文件为加密文件,可防止在传输过程中或在目标终端13被破解。
[0089]推送可执行文件后,需将其属性修改为可执行,以便可执行文件的运行。对于Microsoft操作系统的可执行文件,是通过识别文件后缀来判断文件是否可执行的,因此不需要修改属性。
[0090]在本实施例中,本实施例的方法用于获取目标终端13的Root权限,因此,应用程序为Root软件,其包括Root方案,Root方案为可执行文件。众所周知,可执行文件的功能可以为多种,因此应用程序不限于Root软件。
[0091]目前有多种提权方案用于获取Android系统的Root权限,依提权后权限作用的生命周期来看,包括永久Root权限和临时Root权限。永久Root权限情况下,应用程序一经Root授权,以后可不必再进行Root提权;而临时Root权限情况下,权限作用的生命周期只是操作系统的一次从开机到关机的过程,下次开机依然需要进行Root。
[0092]无论采用何种Root方式,提权的基本原理均是通过向系统植入用于接收权限请求的SU,再结合SuperUser.apk应用程序实现人机交互。Root提权操作的过程具体为:把su文件放到/system/bin/中,把Superuser, apk放到system/app下面,前者用于监听用户的权限请求并与后者通信,后者主要是在与前者通信的基础上实现人机交互,从而允许用户做出相关指示。理论上,如果su可以实现默认通过所有权限请求,则SuperUser.apk可以舍弃。此外还需要设置/system/bin/su可以让任意用户可运行,使其具有set uid和set gid的权限,具体可通过在android机器上运行命令:adb shell chmod 4755/system/bin/su 实现。
[0093]对于Root方案,应理解为包括:与破解相关的代码文件及其配置参数,以“su”、“SuperUser.apk”命名或实现的文件。
[0094]S43,通过通信链路调用可执行文件。
[0095]S44,目标终端通过本地维持的通信链路接收调用可执行文件的命令。
[0096]S45,根据调用命令,校验并确认调用是否合法。
[0097]可执行文件为二进制文件,为防止其被获得后滥用,需校验是否是客户端12中的应用程序调用其执行功能。具体的校验过程包括步骤S43、S44、S45,下面对该校验进行详细阐述:
[0098]本实施例的可执行文件包括第一功能模块和第二功能模块,第一功能模块用于产生包括调用时间及目标终端13标识的串,且对该串进行加密;第二功能模块用于执行获取Root权限的工作。
[0099]首先,应用程序调用可执行文件以运行其第一功能模块,第一功能模块产生密串,并返回至应用程序,应用程序对该密串进行二次加密;然后,应用程序再次调用可执行文件以运行其第一功能模块,并发送加密后的密串至可执行文件,第一功能模块再次产生密串;再者,第一功能模块将获得的加密后的密串进行解密,并将解密后的密串与再次产生的密串进行比较,以校验调用命令是否由应用程序发出。
[0100]具体的比较过程为:由于两次调用存在时间差,首先比较两个密串中的时间间隔是否在预设的时间内,若时间间隔超过预设时间,则终止可执行文件的运行;若时间间隔在预设时间内,则继续比较两个密串中的目标终端13标识是否一致,若一致,则说明发送至应用程序的密串确实由目标终端13发出,最终确认调用命令由应用程序发出,即调用是合法的。
[0101]上述验证过程主要原理为:应用程序对首次调用的密串进行加密,可执行文件对加密的密串进行解密,且解密后的密串与再次调用的密串中的标识一致,以此来确定调用命令是由应用程序发出。通过该验证可避免可执行文件被获取而对任意的手机进行Root,实现对可执行文件的保护。
[0102]S46,在校验并确认调用合法时,执行可执行文件的功能。
[0103]当校验并确认调用合法时,运行可执行文件的第二功能模块,对目标终端13进行Root, Root方式为临时Root或永久Root。
[0104]当Root流程完成后,可在目标终端13上显示执行成功与否的信息或通过通信链路反馈执行成功与否的信息至客户端12。
[0105]需要指出的是,在本实施例的方法流程中,任何校验步骤无法确认时,自动终止后续的步骤。
[0106]以上所述,为保护应用程序,控制可执行文件的运行,设置多重校验,一是校验应用程序的运行环境是否合法,二是校验应用程序是否合法,三是校验使可执行文件执行的命令是否合法,通过三重校验,增加校验的层数和难度,防止应用程序被破解和滥用,保护程序开发者的利益。
[0107]请参阅图5,图5为本发明可执行文件运行控制装置一实施例的结构示意图,如图5所示,包括:校验模块51、推送模块52、调用模块53、接收模块54、第一功能模块55、第二功能模块56及反馈模块57。
[0108]上述各模块的功能如下:
[0109]校验模块51用于通过远程通信端口校验并确认本机已经合法授权。推送模块52用于校验模块51确认本机已经合法授权时,通过本机维持的通信链路向目标终端推送可执行文件以备执行。调用模块53用于通过通信链路调用可执行文件以运行其第一功能模块55,在第一功能模块55校验并确认调用合法时,可执行文件的第二功能模块56运行。
[0110]接收模块54用于通过本地维持的通信链路接收调用可执行文件的命令。第一功能模块55用于根据调用命令,校验并确认调用是否合法。第二功能模块56用于在校验并确认调用合法时,执行可执行文件的功能。反馈模块57用于第二功能模块56执行可执行文件的功能后,显示执行成功与否的信息或通过通信链路反馈执行成功与否的信息。
[0111]在本实施例中,结合图1,校验模块51、推送模块52及调用模块53位于客户端12,接收模块54、第一功能模块55、第二功能模块56及反馈模块57位于目标终端13。客户端12与目标终端13相互交互,下面详细阐述在交互过程中,各模块的工作过程。
[0112]客户端12中的应用程序启动时,其校验模块51发送包含客户端12特征信息的请求至服务器端11,当服务器端11判断该请求中的特征信息在其白名单中时,返回客户端12合法的消息,校验模块51获取返回的消息,以确认客户端12合法授权。当客户端12合法时,应用程序的推送模块52推送其可执行文件至目标终端13,为保护该可执行文件不被滥用,在可执行文件执行其需在目标终端13上实现的功能前,需校验可执行文件的运行是否为应用程序调用。具体为:应用程序的调用模块53调用可执行文件以运行其第一功能模块55 ;可执行文件的接收模块54接收到该调用命令后,第一功能模块55获取包括调用时间及目标终端13标识的密串并返回至调用模块53 ;调用模块53获取密串后,对密串进行二次加密,并再次调用可执行文件以运行其第一功能模块55且发送加密后的密串至可执行文件;第一功能模块55接收返回的加密后的密串并根据再次调用获取包括调用时间及目标终端13标识的密串,解密加密后的密串,校验解密后的密串与再次调用获取的密串中的调用时间间隔是否在预设时间内、目标终端13标识是否一致;当第一功能模块55校验调用时间间隔在预设时间内、目标终端13标识一致时,确认可执行文件的运行由应用程序调用,该调用合法。当确认调用合法时,第二功能模块56执行其功能。第二功能模块56运行完成后,显示执行成功与否的信息或将该信息反馈至客户端12。
[0113]其中,客户端12的特征信息为唯一标识本机特征的信息,还可对该特征信息进行加密,通过服务器端11的解密以进一步确认客户端12中的应用程序的合法性。
[0114]其中,当目标终端13为Android系统时,需将可执行文件的属性修改为可执行。
[0115]其中,第二功能模块56可用于获取目标终端13的Root权限。
[0116]其中,第一功能模块55在校验调用时间间隔是否在预设时间内、目标终端13标识是否一致的过程中,当调用时间间隔不在预设时间内时,标识的校验终止。
[0117]以上所述,本实施例装置可对本发明应用程序的运行环境进行校验,以避免应用程序被随意安装使用;对可执行文件的运行调用进行校验,以避免可执行文件被随意抠出,任意滥用;通过多重校验,以保护应用程序,防止其被破解。
[0118]以上所述仅是本发明的部分实施方式,应当指出,对于本【技术领域】的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
【权利要求】
1.一种可执行文件运行控制方法,其特征在于,包括以下步骤: 通过远程通信端口校验并确认本机已经合法授权; 通过本机维持的通信链路向目标终端推送所述可执行文件以备执行; 通过所述通信链路调用所述可执行文件以运行其第一功能模块,在第一功能模块校验并确认所述调用合法时,所述可执行文件的第二功能模块运行。
2.根据权利要求1所述的可执行文件运行控制方法,其特征在于,校验并确认本机已经合法授权的步骤,具体为:发送包含本机特征信息的请求,获取响应于该请求的本机特征信息位于白名单中的本机合法消息。
3.根据权利要求2所述的可执行文件运行控制方法,其特征在于,所述本机特征信息为唯一标识本机特征的加密信息。
4.根据权利要求2所述的可执行文件运行控制方法,其特征在于,通过所述通信链路调用所述可执行文件以运行其第一功能模块的步骤,具体包括:调用所述可执行文件以运行其第一功能模块,获取第一功能模块返回的包括调用时间及目标终端标识的密串,对所述密串加密,再次调用所述可执行文件以运行其第一功能模块并发送加密后的密串至可执行文件。
5.根据权利要求4所述的可执行文件运行控制方法,其特征在于,所述第二功能模块用于获取目标终端的Root权限。
6.一种可执行文件运行控制方法,其特征在于,包括以下步骤: 通过本地维持的通信链路接收调用可执行文件的命令; 根据调用命令,校验并确认所述调用是否合法; 在校验并确认所述调用合法时,执行可执行文件的功能。
7.根据权利要求6所述的可执行文件运行控制方法,其特征在于,根据调用命令,校验并确认所述调用是否合法的步骤,具体包括:根据调用获取包括调用时间及本地标识的密串,通过所述通信链路发送所述密串,接收该通信链路返回的加密后的所述密串并根据再次调用获取包括调用时间及本地标识的密串,解密加密后的密串,校验解密后的密串与再次调用获取的密串中的调用时间间隔是否在预设时间内、本地标识是否一致。
8.一种可执行文件运行控制装置,其特征在于,包括: 校验模块,用于通过远程通信端口校验并确认本机已经合法授权; 推送模块,用于所述校验模块确认本机已经合法授权时,通过本机维持的通信链路向目标终端推送所述可执行文件以备执行; 调用模块,用于通过所述通信链路调用所述可执行文件以运行其第一功能模块,在第一功能模块校验并确认所述调用合法时,所述可执行文件的第二功能模块运行。
9.一种可执行文件运行控制装置,其特征在于,包括: 接收模块,用于通过本地维持的通信链路接收调用可执行文件的命令; 第一功能模块,用于根据调用命令,校验并确认所述调用是否合法; 第二功能模块,用于在校验并确认所述调用合法时,执行可执行文件的功能。
10.根据权利要求9所述的可执行文件运行控制装置,其特征在于,所述装置包括: 反馈模块,用于所述第二功能模块执行可执行文件的功能后,显示执行成功与否的信息或通过所述通信链路反馈执行成功与否的信息。
【文档编号】H04L29/06GK104378388SQ201410751258
【公开日】2015年2月25日 申请日期:2014年12月9日 优先权日:2014年12月9日
【发明者】胡超博 申请人:北京奇虎科技有限公司, 奇智软件(北京)有限公司