CN106295262B - 一种可执行文件的处理方法、装置和系统 - Google Patents
一种可执行文件的处理方法、装置和系统 Download PDFInfo
- Publication number
- CN106295262B CN106295262B CN201510252505.1A CN201510252505A CN106295262B CN 106295262 B CN106295262 B CN 106295262B CN 201510252505 A CN201510252505 A CN 201510252505A CN 106295262 B CN106295262 B CN 106295262B
- Authority
- CN
- China
- Prior art keywords
- executable file
- virtual machine
- index
- micro virtual
- reinforced
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/14—Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Telephone Function (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明实施例公开了一种可执行文件的处理方法、装置和系统;本发明实施例采用在启动移动终端应用时,启动微型虚拟机,利用该微型虚拟机对可执行文件的运行环境进行检测,并在确定检测结果符合预置条件时,将加固后的可执行文件加载至该微型虚拟机中进行解密并运行;该方案可以更好地对代码进行加固,在保护代码,提高数据安全性的同时,提高运行效率。
Description
技术领域
本发明涉及通信技术领域,具体涉及一种可执行文件的处理方法、装置和系统。
背景技术
在移动终端高度普及的今天,基于种种目的,大量的移动终端应用被破解,并进行反编译等操作,从而构建出大量的山寨应用的安装包,影响用户对移动终端应用的使用;更甚者,这些山寨应用的安装包中还可能会植入广告插件或恶意指令等,对用户数据与财产带来严重的安全隐患,为此,如何防止移动终端应用被破解和反编译,对于数据安全具有重大意义。
由于移动终端应用的指令多数都是编译在可执行文件中,比如,安卓(Android)系统的dex文件中,因此,为了防止可执行文件被反编译,在现有技术中,一般会对可执行文件进行整体加密,然后在运行时,才在内存中对其进行解密并重组成系统所需的文件,比如odex文件。
在对现有技术的研究和实践过程中,本发明的发明人发现,虽然现有技术可在一定程度上降低可执行文件被反编译的几率,但是,由于解密后内存中存在原始代码,若反编译者从内存中把原始代码拷贝出来,一样可以达到反编译的目的,因此,现有方案对于代码的保护力度并不够;而且,由于运行时需要解密大量的数据,所以,其运行效率也较低。
发明内容
本发明实施例提供一种可执行文件的处理方法、装置和系统,可以更好地对代码进行加固,在保护代码,提高数据安全性的同时,提高运行效率。
本发明实施例提供一种可执行文件的处理方法,包括:
在启动移动终端应用时,启动微型虚拟机;
利用所述微型虚拟机对可执行文件的运行环境进行检测;
确定检测结果符合预置条件时,将加固后的可执行文件加载至所述微型虚拟机中进行解密并运行。
相应的,本发明实施例还提供一种可执行文件的处理装置,包括:
启动单元,用于在启动移动终端应用时,启动微型虚拟机;
检测单元,用于利用所述微型虚拟机对可执行文件的运行环境进行检测;
处理单元,用于确定检测结果符合预置条件时,将加固后的可执行文件加载至所述微型虚拟机中进行解密并运行。
此外,本发明实施例还提供一种可执行文件的处理系统,包括微型虚拟机和本发明实施例所提供的任一种可执行文件的处理装置,其中:
所述微型虚拟机,用于在所述可执行文件的处理装置的控制下启动,并在所述可执行文件的处理装置的控制下,对加载在本微型虚拟机中的加固后的可执行文件进行解密并运行。
本发明实施例采用在启动移动终端应用时,启动微型虚拟机,利用该微型虚拟机对可执行文件的运行环境进行检测,并在确定检测结果符合预置条件时,将加固后的可执行文件加载至该微型虚拟机中进行解密并运行;由于本方案在进行解密和运行代码之前,均会对运行环境进行检测,以保证运行环境的安全性,因此,可以更好地保护代码,提高数据安全性;而且,由于代码的解密和运行是在指定的微型虚拟机中进行的,因此,相对于现有技术只能在内存中进行解密和运行的方案而言,可以避免受其他进程的影响,提高其运行效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的可执行文件的处理方法的流程示意图;
图2a是本发明实施例提供的可执行文件的处理方法中的加固流程图;
图2b是本发明实施例提供的可执行文件的处理方法中的运行流程图;
图3a是本发明实施例提供的可执行文件的处理装置的结构示意图;
图3b是本发明实施例提供的可执行文件的处理装置的另一结构示意图;
图4是本发明实施例提供的移动终端的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种可执行文件的处理方法、装置和系统。以下将分别进行详细说明。
实施例一、
本实施例将从可执行文件的处理装置的角度进行描述,该可执行文件的处理装置具体可以集成在移动终端等设备中,该移动终端具体可以为手机或平板电脑等。
一种可执行文件的处理方法,包括:在启动移动终端应用时,启动微型虚拟机;利用该微型虚拟机对可执行文件的运行环境进行检测;确定检测结果符合预置条件时,将加固后的可执行文件加载至该微型虚拟机中进行解密并运行。
如图1所示,该可执行文件的处理方法的流程具体可以如下:
101、在启动移动终端应用时,启动微型虚拟机。
例如,以安卓系统为例,具体可以利用安卓系统原有dalvik(一种用于Android平台的Java虚拟机)的解释运行的特性,来指定本移动终端专属的微型虚拟机,使得该微型虚拟机可以具有加固后的可执行文件运行前的最高优先运行权,即在加固后的可执行文件运行前优先运行微型虚拟机,这样,在启动移动终端应用时,便可以启动微型虚拟机。
102、利用该微型虚拟机对可执行文件的运行环境进行检测。
其中,对该运行环境的检测包括对微型虚拟机自身的完整性的检测,以及对运行环境的安全性的检测,即步骤“利用该微型虚拟机对可执行文件的运行环境进行检测”具体可以如下:
利用该微型虚拟机对微型虚拟机自身的完整性进行检测;以及,
利用该微型虚拟机对可执行文件的运行环境的安全性进行检测;
若完整性检测通过且运行环境为安全,则确定检测结果符合预置条件;
若完整性检测不通过或运行环境不安全,则确定检测结果不符合预置条件。
其中,完整性检测和安全性检测的执行步骤可以不分先后,在此不再赘述。
103、确定检测结果符合预置条件时,将加固后的可执行文件加载至该微型虚拟机中进行解密并运行。
例如,可以将加固后的可执行文件加载至该微型虚拟机中,并确定该加固后的可执行文件中加密代码的位置,根据确定的位置获取相应的加密索引,并在该微型虚拟机中对加密索引进行解密,得到解密后索引,然后,在该微型虚拟机中,根据解密后索引还原该可执行文件的代码并运行还原后代码。
其中,加固后的可执行文件指的是加密后的可执行文件,加固的方式可以有多种,例如,具体可以如下:
(1)获取可执行文件中需要加固的代码的索引。
例如,具体可以获取移动终端应用提交的关于可执行文件的加固请求,根据该加固请求扫描该移动终端应用的可执行文件,以获取需要加固的代码,然后根据预置的虚拟机特性获取该需要加固的代码的索引。
(2)对该需要加固的代码的索引进行加密,得到加密索引。
其中,加密的方式可以有多种,具体可以根据实际应用的需求进行设置,在此不再赘述。
(3)将加密索引添加至该可执行文件中的相应位置,得到加固后的可执行文件。
由上可知,本实施例采用在启动移动终端应用时,启动微型虚拟机,利用该微型虚拟机对可执行文件的运行环境进行检测,并在确定检测结果符合预置条件时,将加固后的可执行文件加载至该微型虚拟机中进行解密并运行;由于本方案在进行解密和运行代码之前,均会对运行环境进行检测,以保证运行环境的安全性,因此,可以更好地保护代码,提高数据安全性;而且,由于代码的解密和运行是在指定的微型虚拟机中进行的,因此,相对于现有技术只能在内存中进行解密和运行的方案而言,可以避免受其他进程的影响,提高其运行效率,且兼容性更优。
实施例二、
根据实施例一所描述的方法,以下将举例作进一步详细说明。
在本实施例中,将以安卓系统为例进行说明。其中,该可执行文件的处理装置具体可以集成在移动终端中,简称为处理装置,而该可执行文件具体可以为dex文件等。
其中,该可执行文件的处理方法的流程包括可执行文件的加固流程和运行流程,以下将分别进行详细说明。
(1)加固;
如图2a所示,该可执行文件的加固方法的具体流程可以如下:
A201、处理装置获取移动终端应用提交的关于可执行文件的加固请求,比如,关于dex文件的加固请求。
A202、处理装置根据该加固请求扫描该移动终端应用的可执行文件,比如扫描该移动终端应用的dex文件,以获取需要加固的代码。
A203、处理装置根据安卓系统的虚拟机特性获取该需要加固的代码的索引。
A204、处理装置对该需要加固的代码的索引进行加密,得到加密索引。
例如,具体可以隐藏该索引,比如将该索引中的一些项目的值改写为无效值,等等。
A205、处理装置将加密索引添加至该可执行文件,比如dex文件中的相应位置,得到加固后的可执行文件。
(2)运行;
如图2b所示,该加固后可执行文件的运行方法的具体流程可以如下:
B201、在启动移动终端应用时,处理装置启动本移动终端的微型虚拟机。
例如,以安卓系统为例,具体可以利用安卓系统原有dalvik(一种用于Android平台的Java虚拟机)的解释运行的特性,来指定本移动终端专属的微型虚拟机,使得该微型虚拟机可以具有加固后的可执行文件运行前的最高优先运行权,即在加固后的可执行文件运行前优先运行微型虚拟机,这样,在启动移动终端应用时,便可以启动微型虚拟机。
B202、处理装置利用该微型虚拟机对微型虚拟机自身的完整性进行检测,若完整性检测通过,则执行步骤B203,若完整性检测不通过,则终止运行,流程结束。
B203、处理装置利用该微型虚拟机对可执行文件如dex文件的运行环境的安全性进行检测,若运行环境为安全,则执行步骤B204,若运行环境为不安全,则终止运行,流程结束。
B204、在完整性检测通过且运行环境为安全,处理装置将加固后的可执行文件加载至该微型虚拟机中,比如将加固后的dex文件加载至该微型虚拟机中。
B205、处理装置确定该加固后的可执行文件中加密索引的位置,根据确定的位置获取相应的加密索引。
B206、处理装置在该微型虚拟机中对加密索引进行解密,得到解密后代索引。
其中,解密的方法与加密的方法想匹配,例如,如果在加密时隐藏了需要加固的代码的索引,则此时可以将隐藏的索引还原,比如,将一些项目的无效值还原为原有的值,等等。
B207、处理装置在该微型虚拟机中根据解密后索引还原该可执行文件如dex文件的代码,并在该微型虚拟机中运行还原后代码。
由上可知,本实施例采用在启动移动终端应用时,启动微型虚拟机,利用该微型虚拟机对微信虚拟机自身的完整性,以及可执行文件运行环境的安全性进行检测,并在确定检测通过时,将加固后的可执行文件加载至该微型虚拟机中进行解密并运行;由于本方案在进行解密和运行代码之前,均会对运行环境进行检测,以保证运行环境的安全性,因此,可以更好地保护代码,提高数据安全性;而且,由于代码的解密和运行是在指定的微型虚拟机中进行的,因此,相对于现有技术只能在内存中进行解密和运行的方案而言,可以避免受其他进程的影响,提高其运行效率,且兼容性更优。
实施例三、
为了更好地实施以上方法,本发明实施例还提供一种可执行文件的处理装置,如图3a所示,该可执行文件的处理装置可以包括启动单元301、检测单元302和处理单元303,如下:
启动单元301,用于在启动移动终端应用时,启动微型虚拟机。
例如,以安卓系统为例,具体可以利用安卓系统原有dalvik的解释运行的特性,来指定本移动终端专属的微型虚拟机,使得该微型虚拟机可以具有加固后的可执行文件运行前的最高优先运行权,即在加固后的可执行文件运行前优先运行微型虚拟机,这样,在启动移动终端应用时,便可以启动微型虚拟机。
检测单元302,用于利用该微型虚拟机对可执行文件的运行环境进行检测。
其中,对该运行环境的检测包括对微型虚拟机自身的完整性的检测,以及对运行环境的安全性的检测,即:
检测单元302,具体用于利用该微型虚拟机对微型虚拟机自身的完整性进行检测;以及,利用该微型虚拟机对可执行文件的运行环境的安全性进行检测;若完整性检测通过且运行环境为安全,则确定检测结果符合预置条件;若完整性检测不通过或运行环境不安全,则确定检测结果不符合预置条件。
其中,完整性检测和安全性检测的执行可以不分先后,在此不再赘述。
处理单元303,用于确定检测结果符合预置条件时,将加固后的可执行文件加载至该微型虚拟机中进行解密并运行。
例如,该处理单元303,具体可以用于将加固后的可执行文件加载至该微型虚拟机中,并确定该加固后的可执行文件中加密索引的位置;根据确定的位置获取相应的加密索引,并在该微型虚拟机中对加密索引进行解密,得到解密后索引;在该微型虚拟机中,根据解密后索引还原该可执行文件的代码并运行还原后代码。
其中,加固后的可执行文件指的是加密后的可执行文件,加固的方式可以有多种,例如,可以获取可执行文件中需要加固的代码的索引,然后对该索引进行加密,即如图3b所示,该可执行文件的处理装置还可以包括获取单元304、加密单元305和添加单元306,如下:
获取单元304,用于获取可执行文件中需要加固的代码的索引。
例如,获取单元304,具体可以用于获取移动终端应用提交的关于可执行文件的加固请求,根据该加固请求扫描该移动终端应用的可执行文件,以获取需要加固的代码,然后根据预置的虚拟机特性获取该需要加固的代码的索引。
加密单元305,用于对该需要加固的代码的索引进行加密,得到加密索引。
其中,加密的方式可以有多种,具体可以根据实际应用的需求进行设置,在此不再赘述。
添加单元306,用于将加密索引添加至该可执行文件中的相应位置,得到加固后的可执行文件。
具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
该可执行文件的处理装置具体可以集成在移动终端等设备中,该移动终端具体可以为手机或平板电脑等。
由上可知,本实施例的可执行文件的处理装置的启动单元301可以在启动移动终端应用时,启动微型虚拟机,然后由检测单元302利用该微型虚拟机对可执行文件的运行环境进行检测,并在确定检测结果符合预置条件时,由处理单元303将加固后的可执行文件加载至该微型虚拟机中进行解密并运行;由于本方案在进行解密和运行代码之前,均会对运行环境进行检测,以保证运行环境的安全性,因此,可以更好地保护代码,提高数据安全性;而且,由于代码的解密和运行是在指定的微型虚拟机中进行的,因此,相对于现有技术只能在内存中进行解密和运行的方案而言,可以避免受其他进程的影响,提高其运行效率,且兼容性更优。
实施例四、
相应的,本发明实施例还提供一种可执行文件的处理系统,包括微型虚拟机和本发明实施例所提供的任一种可执行文件的处理装置,其中,该可执行文件的处理装置具体可参见实施例三,例如,具体可以如下:
可执行文件的处理装置,用于在启动移动终端应用时,启动微型虚拟机;利用该微型虚拟机对可执行文件的运行环境进行检测;确定检测结果符合预置条件时,将加固后的可执行文件加载至该微型虚拟机中进行解密并运行。
微型虚拟机,用于在该可执行文件的处理装置的控制下启动,并在该可执行文件的处理装置的控制下,对加载在本微型虚拟机中的加固后的可执行文件进行解密并运行。
其中,加固后的可执行文件指的是加密后的可执行文件,加固的方式可以有多种,例如,具体可以如下:
可执行文件的处理装置,还可以用于获取可执行文件中需要加固的代码的索引,对该需要加固的代码的索引进行加密,得到加密索引,将加密索引添加至该可执行文件中的相应位置,得到加固后的可执行文件。
以上各个设备的具体实施可参见前面的实施例,在此不再赘述。
由于该可执行文件的处理系统可以包括本发明实施例所提供的任一种可执行文件的处理装置,因此,可以实现本发明实施例所提供的任一种可执行文件的处理装置所能实现的有益效果,详见前面的实施例,在此不再赘述。
实施例五、
相应的,本发明实施例还提供一种移动终端,如图4所示,该移动终端可以包括射频(RF,Radio Frequency)电路401、包括有一个或一个以上计算机可读存储介质的存储器402、输入单元403、显示单元404、传感器405、音频电路406、无线保真(WiFi,WirelessFidelity)模块407、包括有一个或者一个以上处理核心的处理器408、以及电源409等部件。本领域技术人员可以理解,图4中示出的移动终端结构并不构成对移动终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
RF电路401可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器408处理;另外,将涉及上行的数据发送给基站。通常,RF电路401包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM,Subscriber Identity Module)卡、收发信机、耦合器、低噪声放大器(LNA,Low Noise Amplifier)、双工器等。此外,RF电路401还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(GSM,Global System of Mobile communication)、通用分组无线服务(GPRS,GeneralPacket Radio Service)、码分多址(CDMA,Code Division Multiple Access)、宽带码分多址(WCDMA,Wideband Code Division Multiple Access)、长期演进(LTE,Long TermEvolution)、电子邮件、短消息服务(SMS,Short Messaging Service)等。
存储器402可用于存储软件程序以及模块,处理器408通过运行存储在存储器402的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据移动终端的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器408和输入单元403对存储器402的访问。
输入单元403可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,在一个具体的实施例中,输入单元403可包括触敏表面以及其他输入设备。触敏表面,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面上或在触敏表面附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器408,并能接收处理器408发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面。除了触敏表面,输入单元403还可以包括其他输入设备。具体地,其他输入设备可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元404可用于显示由用户输入的信息或提供给用户的信息以及移动终端的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元404可包括显示面板,可选的,可以采用液晶显示器(LCD,Liquid CrystalDisplay)、有机发光二极管(OLED,Organic Light-Emitting Diode)等形式来配置显示面板。进一步的,触敏表面可覆盖显示面板,当触敏表面检测到在其上或附近的触摸操作后,传送给处理器408以确定触摸事件的类型,随后处理器408根据触摸事件的类型在显示面板上提供相应的视觉输出。虽然在图4中,触敏表面与显示面板是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面与显示面板集成而实现输入和输出功能。
移动终端还可包括至少一种传感器405,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板的亮度,接近传感器可在移动终端移动到耳边时,关闭显示面板和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于移动终端还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路406、扬声器,传声器可提供用户与移动终端之间的音频接口。音频电路406可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路406接收后转换为音频数据,再将音频数据输出处理器408处理后,经RF电路401以发送给比如另一移动终端,或者将音频数据输出至存储器402以便进一步处理。音频电路406还可能包括耳塞插孔,以提供外设耳机与移动终端的通信。
WiFi属于短距离无线传输技术,移动终端通过WiFi模块407可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图4示出了WiFi模块407,但是可以理解的是,其并不属于移动终端的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器408是移动终端的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行移动终端的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器408可包括一个或多个处理核心;优选的,处理器408可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器408中。
移动终端还包括给各个部件供电的电源409(比如电池),优选的,电源可以通过电源管理系统与处理器408逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源409还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,移动终端还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,移动终端中的处理器408会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器408来运行存储在存储器402中的应用程序,从而实现各种功能:
在启动移动终端应用时,启动微型虚拟机;利用该微型虚拟机对可执行文件的运行环境进行检测;确定检测结果符合预置条件时,将加固后的可执行文件加载至该微型虚拟机中进行解密并运行。
其中,对该运行环境的检测包括对微型虚拟机自身的完整性的检测,以及对运行环境的安全性的检测,具体可参见前面的实施例。
此外,需说明的是,加固后的可执行文件指的是加密后的可执行文件,其中,加固的方式可以有多种,例如,具体可以如下:
获取可执行文件中需要加固的代码的索引,对该需要加固的代码的索引进行加密,得到加密索引,将加密索引添加至该可执行文件中的相应位置,得到加固后的可执行文件,详见前面的实施例。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
由上可知,本实施例的移动终端采用在启动移动终端应用时,启动微型虚拟机,利用该微型虚拟机对可执行文件的运行环境进行检测,并在确定检测结果符合预置条件时,将加固后的可执行文件加载至该微型虚拟机中进行解密并运行;由于本方案在进行解密和运行代码之前,均会对运行环境进行检测,以保证运行环境的安全性,因此,可以更好地保护代码,提高数据安全性;而且,由于代码的解密和运行是在指定的微型虚拟机中进行的,因此,相对于现有技术只能在内存中进行解密和运行的方案而言,可以避免受其他进程的影响,提高其运行效率,且兼容性更优。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,RandomAccess Memory)、磁盘或光盘等。
以上对本发明实施例所提供的一种可执行文件的处理方法、装置和系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (11)
1.一种可执行文件的处理方法,其特征在于,包括:
在启动移动终端应用时,启动微型虚拟机,并对所述微型虚拟机设置最高优先运行权;
利用该微型虚拟机对微型虚拟机自身的完整性进行检测;
利用所述微型虚拟机对可执行文件的运行环境进行检测;
确定检测结果符合预置条件时,将加固后的可执行文件加载至所述微型虚拟机中,并确定所述加固后的可执行文件中加密索引的位置;
根据确定的位置获取相应的加密索引,并在所述微型虚拟机中对加密索引进行解密,得到解密后索引;
在所述微型虚拟机中,根据解密后索引还原所述可执行文件的代码并在微型虚拟机中运行还原后代码。
2.根据权利要求1所述的方法,其特征在于,还包括:
获取可执行文件中需要加固的代码的索引;
对所述需要加固的代码的索引进行加密,得到加密索引;
将加密索引添加至所述可执行文件中的相应位置,得到加固后的可执行文件。
3.根据权利要求2所述的方法,其特征在于,所述获取可执行文件中需要加固的代码的索引,包括:
获取移动终端应用提交的关于可执行文件的加固请求;
根据所述加固请求扫描所述移动终端应用的可执行文件,以获取需要加固的代码;
根据预置的虚拟机特性获取所述需要加固的代码的索引。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述利用所述微型虚拟机对可执行文件的运行环境进行检测,包括:
利用所述微型虚拟机对微型虚拟机自身的完整性进行检测;以及,
利用所述微型虚拟机对可执行文件的运行环境的安全性进行检测;
若完整性检测通过且运行环境为安全,则确定检测结果符合预置条件;
若完整性检测不通过或运行环境不安全,则确定检测结果不符合预置条件。
5.一种可执行文件的处理装置,其特征在于,包括:
启动单元,用于在启动移动终端应用时,启动微型虚拟机,并对所述微型虚拟机设置最高优先运行权;
检测单元,用于利用该微型虚拟机对微型虚拟机自身的完整性进行检测;利用所述微型虚拟机对可执行文件的运行环境进行检测;
处理单元,用于确定检测结果符合预置条件时,将加固后的可执行文件加载至所述微型虚拟机中,并确定所述加固后的可执行文件中加密索引的位置;根据确定的位置获取相应的加密索引,并在所述微型虚拟机中对加密索引进行解密,得到解密后索引;在所述微型虚拟机中,根据解密后索引还原所述可执行文件的代码并在微型虚拟机中运行还原后代码。
6.根据权利要求5所述的装置,其特征在于,还包括获取单元、加密单元和添加单元;
所述获取单元,用于获取可执行文件中需要加固的代码的索引;
所述加密单元,用于对所述需要加固的代码的索引进行加密,得到加密索引;
所述添加单元,用于将加密索引添加至所述可执行文件中的相应位置,得到加固后的可执行文件。
7.根据权利要求6所述的装置,其特征在于,
所述获取单元,具体用于获取移动终端应用提交的关于可执行文件的加固请求,根据所述加固请求扫描所述移动终端应用的可执行文件,以获取需要加固的代码,根据预置的虚拟机特性获取所述需要加固的代码的索引。
8.根据权利要求5至7任一项所述的装置,其特征在于,所述检测单元,具体用于:
利用所述微型虚拟机对微型虚拟机自身的完整性进行检测;以及,
利用所述微型虚拟机对可执行文件的运行环境的安全性进行检测;
若完整性检测通过且运行环境为安全,则确定检测结果符合预置条件;
若完整性检测不通过或运行环境不安全,则确定检测结果不符合预置条件。
9.一种可执行文件的处理系统,其特征在于,包括微型虚拟机和权利要求5至8任一项所述的可执行文件的处理装置,其中:
所述微型虚拟机,用于在所述可执行文件的处理装置的控制下启动,并在所述可执行文件的处理装置的控制下,对加载在本微型虚拟机中的加固后的可执行文件进行解密并运行。
10.一种存储介质,其内存储有处理器可执行指令,所述指令由一个或一个以上处理器加载,以执行如权利要求1至4中任一项所述的可执行文件的处理方法。
11.一种电子设备,包括处理器和存储器,所述存储器储存有计算机程序,所述处理器通过调用所述计算机程序,用于执行如权利要求1至4中任一的可执行文件的处理方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201510252505.1A CN106295262B (zh) | 2015-05-18 | 2015-05-18 | 一种可执行文件的处理方法、装置和系统 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201510252505.1A CN106295262B (zh) | 2015-05-18 | 2015-05-18 | 一种可执行文件的处理方法、装置和系统 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN106295262A CN106295262A (zh) | 2017-01-04 |
| CN106295262B true CN106295262B (zh) | 2021-08-03 |
Family
ID=57631496
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201510252505.1A Active CN106295262B (zh) | 2015-05-18 | 2015-05-18 | 一种可执行文件的处理方法、装置和系统 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN106295262B (zh) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN116127413A (zh) * | 2022-12-14 | 2023-05-16 | 支付宝(杭州)信息技术有限公司 | 移动端安全切面防护方法、装置、存储介质及电子设备 |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101122938A (zh) * | 2007-09-25 | 2008-02-13 | 北大方正集团有限公司 | 一种数据文件的安全处理方法及系统 |
| CN101520800A (zh) * | 2009-03-27 | 2009-09-02 | 华中科技大学 | 一种基于密文的安全全文索引和检索系统 |
| CN103593617A (zh) * | 2013-10-27 | 2014-02-19 | 西安电子科技大学 | 基于vmm的软件完整性校验系统及其方法 |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20080229115A1 (en) * | 2007-03-16 | 2008-09-18 | Microsoft Corporation | Provision of functionality via obfuscated software |
| US8712742B2 (en) * | 2011-07-05 | 2014-04-29 | Renesas Mobile Corporation | Methods, devices and computer program products providing for establishing a model for emulating a physical quantity which depends on at least one input parameter, and use thereof |
| CN103186730B (zh) * | 2013-03-26 | 2016-05-18 | 北京深思数盾科技股份有限公司 | 保护.net软件安全的方法和设备 |
| CN104462990B (zh) * | 2013-09-13 | 2019-02-26 | 腾讯科技(深圳)有限公司 | 字符串加解密方法和装置 |
| CN103544046A (zh) * | 2013-10-25 | 2014-01-29 | 苏州通付盾信息技术有限公司 | 一种移动应用的软件加固方法 |
-
2015
- 2015-05-18 CN CN201510252505.1A patent/CN106295262B/zh active Active
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101122938A (zh) * | 2007-09-25 | 2008-02-13 | 北大方正集团有限公司 | 一种数据文件的安全处理方法及系统 |
| CN101520800A (zh) * | 2009-03-27 | 2009-09-02 | 华中科技大学 | 一种基于密文的安全全文索引和检索系统 |
| CN103593617A (zh) * | 2013-10-27 | 2014-02-19 | 西安电子科技大学 | 基于vmm的软件完整性校验系统及其方法 |
Non-Patent Citations (1)
| Title |
|---|
| 公共云计算环境下用户数据的隐私性与安全性保护;张逢喆;《中国博士学位论文全文数据库 信息科技辑》;20120115;第2012卷(第1期);第I138-15页 * |
Also Published As
| Publication number | Publication date |
|---|---|
| CN106295262A (zh) | 2017-01-04 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US12041165B2 (en) | Key updating method, apparatus, and system | |
| CN110417543B (zh) | 一种数据加密方法、装置和存储介质 | |
| CN106598584B (zh) | 一种处理资源文件的方法、装置和系统 | |
| JP6576555B2 (ja) | サービス処理方法、デバイス及びシステム | |
| CN105933904B (zh) | 网络连接方法及装置 | |
| CN104954126B (zh) | 敏感操作验证方法、装置及系统 | |
| CN111142930B (zh) | 安装包文件打包方法、装置、终端设备及存储介质 | |
| KR102224553B1 (ko) | 키 저장 방법, 키 관리 방법 및 디바이스 | |
| CN109558734B (zh) | 一种堆栈安全性的检测方法及装置、移动设备 | |
| CN106599698B (zh) | 一种加密图片、解密图片的方法和装置 | |
| CN107103211B (zh) | Sdk发送、应用发布、应用运行方法及装置 | |
| WO2014000652A1 (zh) | 浏览器插件安装方法、装置及终端 | |
| CN106709282B (zh) | 资源文件解密方法及装置 | |
| CN108090345B (zh) | linux系统外部命令执行方法及装置 | |
| CN106845177A (zh) | 密码管理方法及系统 | |
| CN109687974B (zh) | Apk验证方法、装置、移动终端及可读存储介质 | |
| CN106713319B (zh) | 终端间的远程控制方法、装置、系统及移动终端 | |
| CN105279433B (zh) | 一种应用程序的防护方法及装置 | |
| US10764038B2 (en) | Method and apparatus for generating terminal key | |
| CN111444539B (zh) | 一种权限处理方法、装置、存储介质及终端 | |
| CN108460251B (zh) | 运行应用程序的方法、装置及系统 | |
| CN113923005B (zh) | 一种写入数据的方法及系统 | |
| CN108737341B (zh) | 业务处理方法、终端及服务器 | |
| CN106295262B (zh) | 一种可执行文件的处理方法、装置和系统 | |
| CN106528231B (zh) | 一种启动应用程序的方法和装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant |